{
    "info": {
        "name": "Joshen API",
        "_postman_id": "8f6694a3-95b0-4eef-a149-896b855bdb81",
        "description": "Auto-generated API documentation.\nGenerated: 2026-11-10 16:08:03\n\nRequests save response values (tokens, verification_token, media_hash, record uuids) into collection variables, and related requests read them as {{name}}. Run a list or create request before the requests that need its uuid. Each request's description lists what it saves and needs (TD-57).",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "variable": [
        {
            "key": "base_url",
            "value": "http://localhost",
            "type": "string",
            "description": "API host without a trailing slash: APP_URL of the backend that generated this collection. Change it per environment."
        },
        {
            "key": "locale",
            "value": "en",
            "type": "string",
            "description": "Accept-Language: `ar` (default in the apps) or `en`."
        },
        {
            "key": "refund_idempotency_key",
            "value": "refund-attempt-1",
            "type": "string",
            "description": "Choose a new key for each intended refund; reuse the same key when retrying POST admin/refunds."
        },
        {
            "key": "order_idempotency_key",
            "value": "booking-attempt-1",
            "type": "string",
            "description": "Choose a new key for each intended order; reuse the same key when retrying POST client/orders."
        },
        {
            "key": "token",
            "value": "",
            "type": "string",
            "description": "Token of the last app you signed in to. Used by shared routes (notifications, media). Saved by every sign-in."
        },
        {
            "key": "admin_token",
            "value": "",
            "type": "string",
            "description": "Admin dashboard JWT. Saved by admin login / refresh."
        },
        {
            "key": "client_token",
            "value": "",
            "type": "string",
            "description": "Customer app JWT. Saved by client verify / refresh."
        },
        {
            "key": "provider_token",
            "value": "",
            "type": "string",
            "description": "Provider app JWT. Saved by provider verify / refresh."
        },
        {
            "key": "delivery_token",
            "value": "",
            "type": "string",
            "description": "Driver app JWT. Saved by delivery verify / refresh."
        },
        {
            "key": "verification_token",
            "value": "",
            "type": "string",
            "description": "OTP challenge id. Saved by register / login / resend-code; sent to verify."
        },
        {
            "key": "otp_code",
            "value": "",
            "type": "string",
            "description": "The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table)."
        },
        {
            "key": "media_hash",
            "value": "",
            "type": "string",
            "description": "Hash of an uploaded file. Saved by the media upload; sent in image/file fields."
        },
        {
            "key": "address_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
        },
        {
            "key": "cancellation_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/cancellations, GET /api/v1/admin/cancellations/{cancellation}."
        },
        {
            "key": "cancellation_rule_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
        },
        {
            "key": "category_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
        },
        {
            "key": "category_request_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/category-requests."
        },
        {
            "key": "change_request_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
        },
        {
            "key": "commission_rule_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
        },
        {
            "key": "contact_message_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
        },
        {
            "key": "conversation_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/conversations, GET /api/v1/client/conversations, GET /api/v1/provider/conversations."
        },
        {
            "key": "country_id",
            "value": "",
            "type": "string",
            "description": "Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
        },
        {
            "key": "coupon_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
        },
        {
            "key": "customer_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/payments/customers."
        },
        {
            "key": "delivery_fee_rule_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
        },
        {
            "key": "driver_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
        },
        {
            "key": "faq_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
        },
        {
            "key": "feature_flag_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
        },
        {
            "key": "featured_plan_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
        },
        {
            "key": "featured_subscription_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/featured-subscriptions, GET /api/v1/admin/featured-subscriptions/{featured_subscription}."
        },
        {
            "key": "general_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
        },
        {
            "key": "governorate_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
        },
        {
            "key": "invoice_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/client/invoices, GET /api/v1/provider/featured/invoices, GET /api/v1/provider/featured/invoices/{invoice}."
        },
        {
            "key": "media_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /media, POST /media, POST /api/v1/media."
        },
        {
            "key": "my_package_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
        },
        {
            "key": "notification_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}."
        },
        {
            "key": "occasion_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
        },
        {
            "key": "onboarding_slide_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
        },
        {
            "key": "order_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
        },
        {
            "key": "package_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
        },
        {
            "key": "page_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
        },
        {
            "key": "payment_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/payments, GET /api/v1/admin/payments/{payment}."
        },
        {
            "key": "payout_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
        },
        {
            "key": "permission_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/permissions."
        },
        {
            "key": "portfolio_hash",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder."
        },
        {
            "key": "provider_category_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
        },
        {
            "key": "provider_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
        },
        {
            "key": "refund_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/refunds, POST /api/v1/admin/refunds, GET /api/v1/admin/refunds/{refund}."
        },
        {
            "key": "region_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
        },
        {
            "key": "registration_request_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/registration-requests."
        },
        {
            "key": "review_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
        },
        {
            "key": "role_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
        },
        {
            "key": "service_choice_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
        },
        {
            "key": "service_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
        },
        {
            "key": "slider_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
        },
        {
            "key": "supervisor_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
        },
        {
            "key": "support_ticket_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
        },
        {
            "key": "template_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
        },
        {
            "key": "ticket_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
        },
        {
            "key": "trip_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
        },
        {
            "key": "trip_offer_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/delivery/trip-offers."
        },
        {
            "key": "user_id",
            "value": "",
            "type": "string",
            "description": "Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
        }
    ],
    "item": [
        {
            "name": "Shared",
            "item": [
                {
                    "name": "Media",
                    "item": [
                        {
                            "name": "List All",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Joshen TD-57: values this request reads from earlier responses.",
                                            "const needed = [[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                            "needed.forEach(([name, how]) => {",
                                            "    if (!pm.variables.get(name)) {",
                                            "        console.warn('{{' + name + '}} is empty. ' + how);",
                                            "    }",
                                            "});"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Joshen TD-57: save response values for related requests.",
                                            "const saves = [[\"media_id\",\"data.*.id\"]];",
                                            "function pick(value, keys) {",
                                            "    if (keys.length === 0) return value;",
                                            "    if (value === null || typeof value !== 'object') return undefined;",
                                            "    const [key, ...rest] = keys;",
                                            "    if (key !== '*') return pick(value[key], rest);",
                                            "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                            "    for (const row of rows) {",
                                            "        const found = pick(row, rest);",
                                            "        if (found !== undefined && found !== null && found !== '') return found;",
                                            "    }",
                                            "    return undefined;",
                                            "}",
                                            "let body = null;",
                                            "try { body = pm.response.json(); } catch (error) { body = null; }",
                                            "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                            "    saves.forEach(([name, path]) => {",
                                            "        const value = pick(body, path.split('.'));",
                                            "        if (value !== undefined && value !== null && value !== '') {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            pm.test('Saved {{' + name + '}}', () => true);",
                                            "        }",
                                            "    });",
                                            "}"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json"
                                    },
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json"
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{locale}}"
                                    },
                                    {
                                        "key": "Authorization",
                                        "value": "Bearer {{token}}"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/media?page=1",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "media"
                                    ],
                                    "query": [
                                        {
                                            "key": "page",
                                            "value": "1",
                                            "description": "Page number",
                                            "disabled": false
                                        },
                                        {
                                            "key": "per_page",
                                            "value": "15",
                                            "description": "Items per page (max: 100)",
                                            "disabled": true
                                        },
                                        {
                                            "key": "search",
                                            "value": "",
                                            "description": "Search term (searches across searchable fields)",
                                            "disabled": true
                                        },
                                        {
                                            "key": "sort[created_at]",
                                            "value": "desc",
                                            "description": "Sort by field: asc or desc",
                                            "disabled": true
                                        },
                                        {
                                            "key": "paginate",
                                            "value": "false",
                                            "description": "Set to false to disable pagination",
                                            "disabled": true
                                        },
                                        {
                                            "key": "filters[is_active]",
                                            "value": "1",
                                            "description": "Filter by active status: 1 or 0",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "**Route:** `shared.media.index`\n**Middleware:** `auth:api, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `media_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Own uploads\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Media list retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1babc-7f17-73ef-bbf0-e2c50b07baf5\",\n            \"hash\": \"df5e8d400f9e84ef7efa79983b386dcd\",\n            \"url\": \"http://localhost/storage/uploads/image/d738a810-0021-4614-9746-6ee36e03781c.webp\",\n            \"mime_type\": \"image/webp\",\n            \"size\": 66,\n            \"original_name\": \"photo.png\",\n            \"variants\": {\n                \"large\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_large.webp\",\n                \"medium\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_medium.webp\",\n                \"thumbnail\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_thumbnail.webp\"\n            }\n        },\n        {\n            \"id\": \"01a1babc-7f28-704c-97e2-dac3404266b4\",\n            \"hash\": \"a577847f7babe47bc01692d605d5692a\",\n            \"url\": \"http://localhost/storage/uploads/image/91b8f944-26a9-4b90-a7bb-3aefc378b458.webp\",\n            \"mime_type\": \"image/webp\",\n            \"size\": 66,\n            \"original_name\": \"second.png\",\n            \"variants\": {\n                \"large\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_large.webp\",\n                \"medium\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_medium.webp\",\n                \"thumbnail\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_thumbnail.webp\"\n            }\n        }\n    ]\n}\n```"
                            },
                            "response": [
                                {
                                    "name": "200 Own uploads",
                                    "_joshen": {
                                        "route": "shared.media.index",
                                        "name": "Own uploads",
                                        "code": 200,
                                        "request": {
                                            "method": "GET",
                                            "locale": "en",
                                            "path": "media",
                                            "query": null,
                                            "body": null
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Shared\\MediaUploadExamplesTest::test_upload_list_and_delete_a_file"
                                    },
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "media"
                                            ]
                                        }
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"success\",\n    \"message\": \"Media list retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1babc-7f17-73ef-bbf0-e2c50b07baf5\",\n            \"hash\": \"df5e8d400f9e84ef7efa79983b386dcd\",\n            \"url\": \"http://localhost/storage/uploads/image/d738a810-0021-4614-9746-6ee36e03781c.webp\",\n            \"mime_type\": \"image/webp\",\n            \"size\": 66,\n            \"original_name\": \"photo.png\",\n            \"variants\": {\n                \"large\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_large.webp\",\n                \"medium\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_medium.webp\",\n                \"thumbnail\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_thumbnail.webp\"\n            }\n        },\n        {\n            \"id\": \"01a1babc-7f28-704c-97e2-dac3404266b4\",\n            \"hash\": \"a577847f7babe47bc01692d605d5692a\",\n            \"url\": \"http://localhost/storage/uploads/image/91b8f944-26a9-4b90-a7bb-3aefc378b458.webp\",\n            \"mime_type\": \"image/webp\",\n            \"size\": 66,\n            \"original_name\": \"second.png\",\n            \"variants\": {\n                \"large\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_large.webp\",\n                \"medium\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_medium.webp\",\n                \"thumbnail\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_thumbnail.webp\"\n            }\n        }\n    ]\n}"
                                },
                                {
                                    "name": "401 Missing or expired token",
                                    "_joshen": {
                                        "route": "shared.notifications.index",
                                        "name": "Missing or expired token",
                                        "code": 401,
                                        "request": {
                                            "method": "GET",
                                            "locale": "en-us,en;q=0.5",
                                            "path": "api/v1/notifications",
                                            "query": null,
                                            "body": null
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                        "applies_to": {
                                            "surface": "shared",
                                            "middleware": "auth:api"
                                        }
                                    },
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/media?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "media"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        }
                                    },
                                    "status": "Unauthorized",
                                    "code": 401,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                }
                            ],
                            "_joshen_variables": {
                                "saves": [
                                    {
                                        "name": "media_id",
                                        "path": "data.*.id"
                                    }
                                ],
                                "uses": [
                                    {
                                        "name": "token",
                                        "set_by": [
                                            "admin.auth.login",
                                            "admin.auth.refresh",
                                            "client.auth.verify",
                                            "client.auth.refresh",
                                            "provider.auth.verify",
                                            "provider.auth.refresh",
                                            "delivery.auth.verify",
                                            "delivery.auth.refresh"
                                        ],
                                        "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                    }
                                ]
                            }
                        },
                        {
                            "name": "Create New",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Joshen TD-57: values this request reads from earlier responses.",
                                            "const needed = [[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                            "needed.forEach(([name, how]) => {",
                                            "    if (!pm.variables.get(name)) {",
                                            "        console.warn('{{' + name + '}} is empty. ' + how);",
                                            "    }",
                                            "});"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Joshen TD-57: save response values for related requests.",
                                            "const saves = [[\"media_hash\",\"data.hash\"],[\"media_id\",\"data.id\"]];",
                                            "function pick(value, keys) {",
                                            "    if (keys.length === 0) return value;",
                                            "    if (value === null || typeof value !== 'object') return undefined;",
                                            "    const [key, ...rest] = keys;",
                                            "    if (key !== '*') return pick(value[key], rest);",
                                            "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                            "    for (const row of rows) {",
                                            "        const found = pick(row, rest);",
                                            "        if (found !== undefined && found !== null && found !== '') return found;",
                                            "    }",
                                            "    return undefined;",
                                            "}",
                                            "let body = null;",
                                            "try { body = pm.response.json(); } catch (error) { body = null; }",
                                            "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                            "    saves.forEach(([name, path]) => {",
                                            "        const value = pick(body, path.split('.'));",
                                            "        if (value !== undefined && value !== null && value !== '') {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            pm.test('Saved {{' + name + '}}', () => true);",
                                            "        }",
                                            "    });",
                                            "}"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json"
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{locale}}"
                                    },
                                    {
                                        "key": "Authorization",
                                        "value": "Bearer {{token}}"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/media",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "media"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "**Route:** `shared.media.store`\n**Middleware:** `auth:api, active`\n\n**Payload:**\nSend as `multipart/form-data`. Select a local file for fields marked as `file`.\n\n**Field documentation:**\n### `file`\n- **Description:** The file to upload (multipart); an image, PDF or video type listed in `media.allowed_mimes`, within `media.max_upload_size`.\n- **Type:** `file`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav.\n### `collection`\n- **Description:** Which kind of field the file is for, for example `image`; the form that uses the returned `hash` decides (TD-14).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `image`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `media_hash` ← `data.hash` of a 2xx response\n- Saves `media_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Image uploaded through the module route\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `422` File and collection missing on the module route\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Media uploaded successfully\",\n    \"data\": {\n        \"id\": \"01a1babc-7f28-704c-97e2-dac3404266b4\",\n        \"hash\": \"a577847f7babe47bc01692d605d5692a\",\n        \"url\": \"http://localhost/storage/uploads/image/91b8f944-26a9-4b90-a7bb-3aefc378b458.webp\",\n        \"mime_type\": \"image/webp\",\n        \"size\": 66,\n        \"original_name\": \"second.png\",\n        \"variants\": {\n            \"thumbnail\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_thumbnail.webp\",\n            \"medium\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_medium.webp\",\n            \"large\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_large.webp\"\n        }\n    }\n}\n```",
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "file",
                                            "type": "file",
                                            "src": "",
                                            "description": "### `file`\n- **Description:** The file to upload (multipart); an image, PDF or video type listed in `media.allowed_mimes`, within `media.max_upload_size`.\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                        },
                                        {
                                            "key": "collection",
                                            "type": "text",
                                            "src": "image",
                                            "description": "### `collection`\n- **Description:** Which kind of field the file is for, for example `image`; the form that uses the returned `hash` decides (TD-14).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `image`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255."
                                        }
                                    ]
                                }
                            },
                            "response": [
                                {
                                    "name": "201 Image uploaded through the module route",
                                    "_joshen": {
                                        "route": "shared.media.store",
                                        "name": "Image uploaded through the module route",
                                        "code": 201,
                                        "request": {
                                            "method": "POST",
                                            "locale": "en",
                                            "path": "media",
                                            "query": null,
                                            "body": {
                                                "collection": "image"
                                            }
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Shared\\MediaUploadExamplesTest::test_upload_list_and_delete_a_file"
                                    },
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "media"
                                            ]
                                        },
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"collection\": \"image\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "status": "Created",
                                    "code": 201,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"success\",\n    \"message\": \"Media uploaded successfully\",\n    \"data\": {\n        \"id\": \"01a1babc-7f28-704c-97e2-dac3404266b4\",\n        \"hash\": \"a577847f7babe47bc01692d605d5692a\",\n        \"url\": \"http://localhost/storage/uploads/image/91b8f944-26a9-4b90-a7bb-3aefc378b458.webp\",\n        \"mime_type\": \"image/webp\",\n        \"size\": 66,\n        \"original_name\": \"second.png\",\n        \"variants\": {\n            \"thumbnail\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_thumbnail.webp\",\n            \"medium\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_medium.webp\",\n            \"large\": \"http://localhost/storage/uploads/image/variants/91b8f944-26a9-4b90-a7bb-3aefc378b458_large.webp\"\n        }\n    }\n}"
                                },
                                {
                                    "name": "401 Missing or expired token",
                                    "_joshen": {
                                        "route": "shared.notifications.index",
                                        "name": "Missing or expired token",
                                        "code": 401,
                                        "request": {
                                            "method": "GET",
                                            "locale": "en-us,en;q=0.5",
                                            "path": "api/v1/notifications",
                                            "query": null,
                                            "body": null
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                        "applies_to": {
                                            "surface": "shared",
                                            "middleware": "auth:api"
                                        }
                                    },
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "media"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "file",
                                                    "type": "file",
                                                    "src": "",
                                                    "description": "### `file`\n- **Description:** The file to upload (multipart); an image, PDF or video type listed in `media.allowed_mimes`, within `media.max_upload_size`.\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                                },
                                                {
                                                    "key": "collection",
                                                    "type": "text",
                                                    "src": "image",
                                                    "description": "### `collection`\n- **Description:** Which kind of field the file is for, for example `image`; the form that uses the returned `hash` decides (TD-14).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `image`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255."
                                                }
                                            ]
                                        }
                                    },
                                    "status": "Unauthorized",
                                    "code": 401,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                },
                                {
                                    "name": "422 File and collection missing on the module route",
                                    "_joshen": {
                                        "route": "shared.media.store",
                                        "name": "File and collection missing on the module route",
                                        "code": 422,
                                        "request": {
                                            "method": "POST",
                                            "locale": "en",
                                            "path": "media",
                                            "query": null,
                                            "body": []
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Shared\\MediaUploadExamplesTest::test_upload_validation"
                                    },
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "media"
                                            ]
                                        },
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "status": "Unprocessable Content",
                                    "code": 422,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The file field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"file\": [\n                \"The file field is required.\"\n            ],\n            \"collection\": [\n                \"The collection field is required.\"\n            ]\n        }\n    }\n}"
                                }
                            ],
                            "_joshen_variables": {
                                "saves": [
                                    {
                                        "name": "media_hash",
                                        "path": "data.hash"
                                    },
                                    {
                                        "name": "media_id",
                                        "path": "data.id"
                                    }
                                ],
                                "uses": [
                                    {
                                        "name": "token",
                                        "set_by": [
                                            "admin.auth.login",
                                            "admin.auth.refresh",
                                            "client.auth.verify",
                                            "client.auth.refresh",
                                            "provider.auth.verify",
                                            "provider.auth.refresh",
                                            "delivery.auth.verify",
                                            "delivery.auth.refresh"
                                        ],
                                        "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                    }
                                ]
                            }
                        },
                        {
                            "name": "Delete",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Joshen TD-57: values this request reads from earlier responses.",
                                            "const needed = [[\"media_id\",\"Saved by GET /media, POST /media, POST /api/v1/media.\"],[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                            "needed.forEach(([name, how]) => {",
                                            "    if (!pm.variables.get(name)) {",
                                            "        console.warn('{{' + name + '}} is empty. ' + how);",
                                            "    }",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json"
                                    },
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json"
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{locale}}"
                                    },
                                    {
                                        "key": "Authorization",
                                        "value": "Bearer {{token}}"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/media/:media_id",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "media",
                                        ":media_id"
                                    ],
                                    "variable": [
                                        {
                                            "key": "media_id",
                                            "value": "{{media_id}}",
                                            "description": "Record uuid. Saved by GET /media, POST /media, POST /api/v1/media."
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "**Route:** `shared.media.destroy`\n**Middleware:** `auth:api, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{media_id}}` — Saved by GET /media, POST /media, POST /api/v1/media.\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Upload deleted\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `404` Upload not found\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Media deleted successfully\",\n    \"data\": []\n}\n```"
                            },
                            "response": [
                                {
                                    "name": "200 Upload deleted",
                                    "_joshen": {
                                        "route": "shared.media.destroy",
                                        "name": "Upload deleted",
                                        "code": 200,
                                        "request": {
                                            "method": "DELETE",
                                            "locale": "en",
                                            "path": "media/01a1babc-7f17-73ef-bbf0-e2c50b07baf5",
                                            "query": null,
                                            "body": []
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Shared\\MediaUploadExamplesTest::test_upload_list_and_delete_a_file"
                                    },
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/media/01a1babc-7f17-73ef-bbf0-e2c50b07baf5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "media",
                                                "01a1babc-7f17-73ef-bbf0-e2c50b07baf5"
                                            ]
                                        },
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"success\",\n    \"message\": \"Media deleted successfully\",\n    \"data\": []\n}"
                                },
                                {
                                    "name": "401 Missing or expired token",
                                    "_joshen": {
                                        "route": "shared.notifications.index",
                                        "name": "Missing or expired token",
                                        "code": 401,
                                        "request": {
                                            "method": "GET",
                                            "locale": "en-us,en;q=0.5",
                                            "path": "api/v1/notifications",
                                            "query": null,
                                            "body": null
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                        "applies_to": {
                                            "surface": "shared",
                                            "middleware": "auth:api"
                                        }
                                    },
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/media/:media_id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "media",
                                                ":media_id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "media_id",
                                                    "value": "{{media_id}}",
                                                    "description": "Record uuid. Saved by GET /media, POST /media, POST /api/v1/media."
                                                }
                                            ]
                                        }
                                    },
                                    "status": "Unauthorized",
                                    "code": 401,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                },
                                {
                                    "name": "404 Upload not found",
                                    "_joshen": {
                                        "route": "shared.media.destroy",
                                        "name": "Upload not found",
                                        "code": 404,
                                        "request": {
                                            "method": "DELETE",
                                            "locale": "en",
                                            "path": "media/01a17356-d738-7388-bd14-41f9b9fc8f88",
                                            "query": null,
                                            "body": []
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Shared\\MediaUploadExamplesTest::test_upload_list_and_delete_a_file"
                                    },
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/media/01a17356-d738-7388-bd14-41f9b9fc8f88",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "media",
                                                "01a17356-d738-7388-bd14-41f9b9fc8f88"
                                            ]
                                        },
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "status": "Not Found",
                                    "code": 404,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Media not found\",\n    \"data\": []\n}"
                                }
                            ],
                            "_joshen_variables": {
                                "saves": [],
                                "uses": [
                                    {
                                        "name": "media_id",
                                        "set_by": [
                                            "shared.media.index",
                                            "shared.media.store",
                                            "shared.media.upload"
                                        ],
                                        "how": "Saved by GET /media, POST /media, POST /api/v1/media."
                                    },
                                    {
                                        "name": "token",
                                        "set_by": [
                                            "admin.auth.login",
                                            "admin.auth.refresh",
                                            "client.auth.verify",
                                            "client.auth.refresh",
                                            "provider.auth.verify",
                                            "provider.auth.refresh",
                                            "delivery.auth.verify",
                                            "delivery.auth.refresh"
                                        ],
                                        "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                    }
                                ]
                            }
                        },
                        {
                            "name": "Upload",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Joshen TD-57: values this request reads from earlier responses.",
                                            "const needed = [[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                            "needed.forEach(([name, how]) => {",
                                            "    if (!pm.variables.get(name)) {",
                                            "        console.warn('{{' + name + '}} is empty. ' + how);",
                                            "    }",
                                            "});"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Joshen TD-57: save response values for related requests.",
                                            "const saves = [[\"media_hash\",\"data.hash\"],[\"media_id\",\"data.id\"]];",
                                            "function pick(value, keys) {",
                                            "    if (keys.length === 0) return value;",
                                            "    if (value === null || typeof value !== 'object') return undefined;",
                                            "    const [key, ...rest] = keys;",
                                            "    if (key !== '*') return pick(value[key], rest);",
                                            "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                            "    for (const row of rows) {",
                                            "        const found = pick(row, rest);",
                                            "        if (found !== undefined && found !== null && found !== '') return found;",
                                            "    }",
                                            "    return undefined;",
                                            "}",
                                            "let body = null;",
                                            "try { body = pm.response.json(); } catch (error) { body = null; }",
                                            "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                            "    saves.forEach(([name, path]) => {",
                                            "        const value = pick(body, path.split('.'));",
                                            "        if (value !== undefined && value !== null && value !== '') {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            pm.test('Saved {{' + name + '}}', () => true);",
                                            "        }",
                                            "    });",
                                            "}"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json"
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{locale}}"
                                    },
                                    {
                                        "key": "Authorization",
                                        "value": "Bearer {{token}}"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/media",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "media"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "**Route:** `shared.media.upload`\n**Middleware:** `api, set_locale, cors, auth:api, active`\n\n**Payload:**\nSend as `multipart/form-data`. Select a local file for fields marked as `file`.\n\n**Field documentation:**\n### `file`\n- **Description:** The file to upload (multipart); an image, PDF or video type listed in `media.allowed_mimes`, within `media.max_upload_size`.\n- **Type:** `file`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav.\n### `collection`\n- **Description:** Which kind of field the file is for, for example `image`; the form that uses the returned `hash` decides (TD-14).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `image`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `media_hash` ← `data.hash` of a 2xx response\n- Saves `media_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Catalog Categories Upload\n- `201` Catalog Services Upload\n- `201` Image uploaded\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `422` File and collection missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Media uploaded successfully\",\n    \"data\": {\n        \"id\": \"01a17206-f088-707e-9bea-419dbf44ff9e\",\n        \"hash\": \"afe2996438338e0c07ea876ef2aad31c\",\n        \"url\": \"http://localhost/storage/uploads/image/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e.webp\",\n        \"mime_type\": \"image/webp\",\n        \"size\": 66,\n        \"original_name\": \"catalog-cover.png\",\n        \"variants\": {\n            \"thumbnail\": \"http://localhost/storage/uploads/image/variants/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e_thumbnail.webp\",\n            \"medium\": \"http://localhost/storage/uploads/image/variants/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e_medium.webp\",\n            \"large\": \"http://localhost/storage/uploads/image/variants/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e_large.webp\"\n        }\n    }\n}\n```",
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "file",
                                            "type": "file",
                                            "src": "",
                                            "description": "### `file`\n- **Description:** The file to upload (multipart); an image, PDF or video type listed in `media.allowed_mimes`, within `media.max_upload_size`.\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                        },
                                        {
                                            "key": "collection",
                                            "type": "text",
                                            "src": "image",
                                            "description": "### `collection`\n- **Description:** Which kind of field the file is for, for example `image`; the form that uses the returned `hash` decides (TD-14).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `image`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255."
                                        }
                                    ]
                                }
                            },
                            "response": [
                                {
                                    "name": "201 Catalog Categories Upload",
                                    "_joshen": {
                                        "route": "shared.media.upload",
                                        "name": "Catalog Categories Upload",
                                        "code": 201,
                                        "request": {
                                            "method": "POST",
                                            "locale": "en",
                                            "path": "api/v1/media",
                                            "query": null,
                                            "body": {
                                                "collection": "image",
                                                "file": "[file]"
                                            }
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_uploaded_media_hash_attaches_replaces_and_clears"
                                    },
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "media"
                                            ]
                                        },
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"collection\": \"image\",\n    \"file\": \"[file]\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "status": "Created",
                                    "code": 201,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"success\",\n    \"message\": \"Media uploaded successfully\",\n    \"data\": {\n        \"id\": \"01a17206-f088-707e-9bea-419dbf44ff9e\",\n        \"hash\": \"afe2996438338e0c07ea876ef2aad31c\",\n        \"url\": \"http://localhost/storage/uploads/image/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e.webp\",\n        \"mime_type\": \"image/webp\",\n        \"size\": 66,\n        \"original_name\": \"catalog-cover.png\",\n        \"variants\": {\n            \"thumbnail\": \"http://localhost/storage/uploads/image/variants/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e_thumbnail.webp\",\n            \"medium\": \"http://localhost/storage/uploads/image/variants/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e_medium.webp\",\n            \"large\": \"http://localhost/storage/uploads/image/variants/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e_large.webp\"\n        }\n    }\n}"
                                },
                                {
                                    "name": "201 Catalog Services Upload",
                                    "_joshen": {
                                        "route": "shared.media.upload",
                                        "name": "Catalog Services Upload",
                                        "code": 201,
                                        "request": {
                                            "method": "POST",
                                            "locale": "en",
                                            "path": "api/v1/media",
                                            "query": null,
                                            "body": {
                                                "collection": "image",
                                                "file": "[file]"
                                            }
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_uploaded_media_hash_attaches_replaces_and_clears"
                                    },
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "media"
                                            ]
                                        },
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"collection\": \"image\",\n    \"file\": \"[file]\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "status": "Created",
                                    "code": 201,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"success\",\n    \"message\": \"Media uploaded successfully\",\n    \"data\": {\n        \"id\": \"01a17206-f23b-7290-8fe9-e98186c15131\",\n        \"hash\": \"63f42a61a80698b77e4a0871e45df28f\",\n        \"url\": \"http://localhost/storage/uploads/image/e9b0dd72-f2cd-485c-bac3-64712c65eee8.webp\",\n        \"mime_type\": \"image/webp\",\n        \"size\": 66,\n        \"original_name\": \"catalog-cover.png\",\n        \"variants\": {\n            \"thumbnail\": \"http://localhost/storage/uploads/image/variants/e9b0dd72-f2cd-485c-bac3-64712c65eee8_thumbnail.webp\",\n            \"medium\": \"http://localhost/storage/uploads/image/variants/e9b0dd72-f2cd-485c-bac3-64712c65eee8_medium.webp\",\n            \"large\": \"http://localhost/storage/uploads/image/variants/e9b0dd72-f2cd-485c-bac3-64712c65eee8_large.webp\"\n        }\n    }\n}"
                                },
                                {
                                    "name": "201 Image uploaded",
                                    "_joshen": {
                                        "route": "shared.media.upload",
                                        "name": "Image uploaded",
                                        "code": 201,
                                        "request": {
                                            "method": "POST",
                                            "locale": "en",
                                            "path": "api/v1/media",
                                            "query": null,
                                            "body": {
                                                "collection": "image"
                                            }
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Shared\\MediaUploadExamplesTest::test_upload_list_and_delete_a_file"
                                    },
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "media"
                                            ]
                                        },
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"collection\": \"image\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "status": "Created",
                                    "code": 201,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"success\",\n    \"message\": \"Media uploaded successfully\",\n    \"data\": {\n        \"id\": \"01a1babc-7f17-73ef-bbf0-e2c50b07baf5\",\n        \"hash\": \"df5e8d400f9e84ef7efa79983b386dcd\",\n        \"url\": \"http://localhost/storage/uploads/image/d738a810-0021-4614-9746-6ee36e03781c.webp\",\n        \"mime_type\": \"image/webp\",\n        \"size\": 66,\n        \"original_name\": \"photo.png\",\n        \"variants\": {\n            \"thumbnail\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_thumbnail.webp\",\n            \"medium\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_medium.webp\",\n            \"large\": \"http://localhost/storage/uploads/image/variants/d738a810-0021-4614-9746-6ee36e03781c_large.webp\"\n        }\n    }\n}"
                                },
                                {
                                    "name": "401 Missing or expired token",
                                    "_joshen": {
                                        "route": "shared.notifications.index",
                                        "name": "Missing or expired token",
                                        "code": 401,
                                        "request": {
                                            "method": "GET",
                                            "locale": "en-us,en;q=0.5",
                                            "path": "api/v1/notifications",
                                            "query": null,
                                            "body": null
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                        "applies_to": {
                                            "surface": "shared",
                                            "middleware": "auth:api"
                                        }
                                    },
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "media"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "file",
                                                    "type": "file",
                                                    "src": "",
                                                    "description": "### `file`\n- **Description:** The file to upload (multipart); an image, PDF or video type listed in `media.allowed_mimes`, within `media.max_upload_size`.\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                                },
                                                {
                                                    "key": "collection",
                                                    "type": "text",
                                                    "src": "image",
                                                    "description": "### `collection`\n- **Description:** Which kind of field the file is for, for example `image`; the form that uses the returned `hash` decides (TD-14).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `image`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255."
                                                }
                                            ]
                                        }
                                    },
                                    "status": "Unauthorized",
                                    "code": 401,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                },
                                {
                                    "name": "422 File and collection missing",
                                    "_joshen": {
                                        "route": "shared.media.upload",
                                        "name": "File and collection missing",
                                        "code": 422,
                                        "request": {
                                            "method": "POST",
                                            "locale": "en",
                                            "path": "api/v1/media",
                                            "query": null,
                                            "body": []
                                        },
                                        "source": "Tests\\Feature\\Api\\V1\\Shared\\MediaUploadExamplesTest::test_upload_validation"
                                    },
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "en"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/media",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "media"
                                            ]
                                        },
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "status": "Unprocessable Content",
                                    "code": 422,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The file field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"file\": [\n                \"The file field is required.\"\n            ],\n            \"collection\": [\n                \"The collection field is required.\"\n            ]\n        }\n    }\n}"
                                }
                            ],
                            "_joshen_variables": {
                                "saves": [
                                    {
                                        "name": "media_hash",
                                        "path": "data.hash"
                                    },
                                    {
                                        "name": "media_id",
                                        "path": "data.id"
                                    }
                                ],
                                "uses": [
                                    {
                                        "name": "token",
                                        "set_by": [
                                            "admin.auth.login",
                                            "admin.auth.refresh",
                                            "client.auth.verify",
                                            "client.auth.refresh",
                                            "provider.auth.verify",
                                            "provider.auth.refresh",
                                            "delivery.auth.verify",
                                            "delivery.auth.refresh"
                                        ],
                                        "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                    }
                                ]
                            }
                        }
                    ]
                },
                {
                    "name": "System",
                    "item": [
                        {
                            "name": "Health",
                            "item": [
                                {
                                    "name": "List All",
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/health?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "health"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `shared.health.index`\n**Middleware:** `api, set_locale, cors`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Responses:**\n- No captured examples yet; the saved examples below are illustrative.\n\n**Response format (illustrative, not captured):**\n```json\n{\n    \"status\": \"healthy\",\n    \"checks\": {\n        \"database\": {\n            \"status\": \"up\",\n            \"latency_ms\": 7.99\n        },\n        \"cache\": {\n            \"status\": \"up\",\n            \"driver\": \"database\",\n            \"latency_ms\": 3.63\n        },\n        \"queue\": {\n            \"status\": \"up\",\n            \"driver\": \"database\"\n        },\n        \"storage\": {\n            \"status\": \"up\",\n            \"driver\": \"local\"\n        }\n    },\n    \"version\": \"1.0.0\",\n    \"timestamp\": \"2026-10-22T06:29:48.197764Z\"\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 OK (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/health?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "health"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"healthy\",\n    \"checks\": {\n        \"database\": {\n            \"status\": \"up\",\n            \"latency_ms\": 7.99\n        },\n        \"cache\": {\n            \"status\": \"up\",\n            \"driver\": \"database\",\n            \"latency_ms\": 3.63\n        },\n        \"queue\": {\n            \"status\": \"up\",\n            \"driver\": \"database\"\n        },\n        \"storage\": {\n            \"status\": \"up\",\n            \"driver\": \"local\"\n        }\n    },\n    \"version\": \"1.0.0\",\n    \"timestamp\": \"2026-10-22T06:29:48.197764Z\"\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": []
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Config",
                            "item": [
                                {
                                    "name": "Bootstrap",
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/config/bootstrap",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "config",
                                                "bootstrap"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `shared.config.bootstrap`\n**Middleware:** `api, set_locale, cors`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Responses:**\n- `200` Bootstrap with placeholder logo\n- `200` Bootstrap with platform logo\n- `200` Bootstrap with the support contacts\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب إعدادات التشغيل\",\n    \"data\": {\n        \"app\": {\n            \"logo_url\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"min_version\": \"1.0.0\",\n            \"force_update\": false,\n            \"maintenance\": {\n                \"enabled\": false,\n                \"message\": \"Service temporarily unavailable\",\n                \"platforms\": []\n            }\n        },\n        \"features\": [],\n        \"integrations\": [],\n        \"ui\": [],\n        \"limits\": {\n            \"min_order_amount\": \"50\",\n            \"max_cart_items\": \"20\",\n            \"free_shipping_threshold\": \"300\"\n        },\n        \"urls\": [],\n        \"contact\": {\n            \"support_email\": \"support@joshen.sa\",\n            \"support_phone\": \"+966920012345\",\n            \"whatsapp\": \"+966500000001\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Bootstrap with placeholder logo",
                                            "_joshen": {
                                                "route": "shared.config.bootstrap",
                                                "name": "Bootstrap with placeholder logo",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/config/bootstrap",
                                                    "query": {
                                                        "platform": "web"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingTypesTest::test_ac_admin_025_replacing_and_clearing_logo_refreshes_bootstrap"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/config/bootstrap?platform=web",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "config",
                                                        "bootstrap"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "platform",
                                                            "value": "web"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب إعدادات التشغيل\",\n    \"data\": {\n        \"app\": {\n            \"logo_url\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"min_version\": \"1.0.0\",\n            \"force_update\": false,\n            \"maintenance\": {\n                \"enabled\": false,\n                \"message\": \"Service temporarily unavailable\",\n                \"platforms\": []\n            }\n        },\n        \"features\": [],\n        \"integrations\": [],\n        \"ui\": [],\n        \"limits\": {\n            \"min_order_amount\": \"50\",\n            \"max_cart_items\": \"20\",\n            \"free_shipping_threshold\": \"300\"\n        },\n        \"urls\": [],\n        \"contact\": {\n            \"support_email\": \"support@joshen.sa\",\n            \"support_phone\": \"+966920012345\",\n            \"whatsapp\": \"+966500000001\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Bootstrap with platform logo",
                                            "_joshen": {
                                                "route": "shared.config.bootstrap",
                                                "name": "Bootstrap with platform logo",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/config/bootstrap",
                                                    "query": {
                                                        "platform": "web"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingTypesTest::test_ac_admin_025_logo_is_saved_and_exposed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/config/bootstrap?platform=web",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "config",
                                                        "bootstrap"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "platform",
                                                            "value": "web"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب إعدادات التشغيل\",\n    \"data\": {\n        \"app\": {\n            \"logo_url\": \"http://localhost/storage/logo.png\",\n            \"min_version\": \"1.0.0\",\n            \"force_update\": false,\n            \"maintenance\": {\n                \"enabled\": false,\n                \"message\": \"Service temporarily unavailable\",\n                \"platforms\": []\n            }\n        },\n        \"features\": [],\n        \"integrations\": [],\n        \"ui\": [],\n        \"limits\": {\n            \"min_order_amount\": \"50\",\n            \"max_cart_items\": \"20\",\n            \"free_shipping_threshold\": \"300\"\n        },\n        \"urls\": [],\n        \"contact\": {\n            \"support_email\": \"support@joshen.sa\",\n            \"support_phone\": \"+966920012345\",\n            \"whatsapp\": \"+966500000001\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Bootstrap with the support contacts",
                                            "_joshen": {
                                                "route": "shared.config.bootstrap",
                                                "name": "Bootstrap with the support contacts",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/config/bootstrap",
                                                    "query": {
                                                        "platform": "web"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingTypesTest::test_ac_cust_024_bootstrap_publishes_the_support_contacts_and_follows_edits"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/config/bootstrap?platform=web",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "config",
                                                        "bootstrap"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "platform",
                                                            "value": "web"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب إعدادات التشغيل\",\n    \"data\": {\n        \"app\": {\n            \"logo_url\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"min_version\": \"1.0.0\",\n            \"force_update\": false,\n            \"maintenance\": {\n                \"enabled\": false,\n                \"message\": \"Service temporarily unavailable\",\n                \"platforms\": []\n            }\n        },\n        \"features\": [],\n        \"integrations\": [],\n        \"ui\": [],\n        \"limits\": {\n            \"min_order_amount\": \"50\",\n            \"max_cart_items\": \"20\",\n            \"free_shipping_threshold\": \"300\"\n        },\n        \"urls\": [],\n        \"contact\": {\n            \"support_email\": \"support@joshen.sa\",\n            \"support_phone\": \"+966920012345\",\n            \"whatsapp\": \"+966500000001\"\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": []
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Communication",
                    "item": [
                        {
                            "name": "Notifications",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"notification_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/notifications?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `shared.notifications.index`\n**Middleware:** `api, set_locale, cors, auth:api, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `notification_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Admin dashboard alerts\n- `200` Inbox with unread count\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Notifications retrieved successfully\",\n    \"data\": {\n        \"unread_count\": 1,\n        \"notifications\": [\n            {\n                \"id\": \"01a1bb7a-61d5-710a-9c2c-87e274ecd83d\",\n                \"type\": \"admin_contact_message_received\",\n                \"title\": \"New contact message\",\n                \"body\": \"New message from Sara.\",\n                \"data\": {\n                    \"id\": \"01a1bb7a-61d0-71fa-89ad-e5b97bb2451f\",\n                    \"event\": \"admin_contact_message_received\",\n                    \"recipient_app\": \"admin\",\n                    \"front_route_name\": \"contact-messages/show\"\n                },\n                \"order_id\": null,\n                \"is_read\": false,\n                \"read_at\": null,\n                \"created_at\": \"2026-11-08T14:05:22+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/notifications?page=1\",\n            \"last\": \"http://localhost/api/v1/notifications?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/notifications?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/notifications\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Admin dashboard alerts",
                                            "_joshen": {
                                                "route": "shared.notifications.index",
                                                "name": "Admin dashboard alerts",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/notifications",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAlertsTest::test_td_173_an_admin_reads_her_alerts_through_the_shared_inbox_and_app_tokens_do_not_see_them"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notifications retrieved successfully\",\n    \"data\": {\n        \"unread_count\": 1,\n        \"notifications\": [\n            {\n                \"id\": \"01a1bb7a-61d5-710a-9c2c-87e274ecd83d\",\n                \"type\": \"admin_contact_message_received\",\n                \"title\": \"New contact message\",\n                \"body\": \"New message from Sara.\",\n                \"data\": {\n                    \"id\": \"01a1bb7a-61d0-71fa-89ad-e5b97bb2451f\",\n                    \"event\": \"admin_contact_message_received\",\n                    \"recipient_app\": \"admin\",\n                    \"front_route_name\": \"contact-messages/show\"\n                },\n                \"order_id\": null,\n                \"is_read\": false,\n                \"read_at\": null,\n                \"created_at\": \"2026-11-08T14:05:22+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/notifications?page=1\",\n            \"last\": \"http://localhost/api/v1/notifications?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/notifications?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/notifications\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Inbox with unread count",
                                            "_joshen": {
                                                "route": "shared.notifications.index",
                                                "name": "Inbox with unread count",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/notifications",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_list_is_scoped_to_user_and_token_app"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notifications retrieved successfully\",\n    \"data\": {\n        \"unread_count\": 1,\n        \"notifications\": [\n            {\n                \"id\": \"01a1a60a-77e5-7346-86f2-92456fc87b65\",\n                \"type\": \"order.confirmed\",\n                \"title\": \"Demo notification\",\n                \"body\": \"Sample in-app notification; no delivery is dispatched.\",\n                \"data\": null,\n                \"order_id\": null,\n                \"is_read\": true,\n                \"read_at\": \"2026-11-04T10:11:06+00:00\",\n                \"created_at\": \"2026-11-04T10:11:06+00:00\"\n            },\n            {\n                \"id\": \"01a1a60a-77e4-72aa-8af6-d4a8a5338e5c\",\n                \"type\": \"order.confirmed\",\n                \"title\": \"Demo notification\",\n                \"body\": \"Sample in-app notification; no delivery is dispatched.\",\n                \"data\": null,\n                \"order_id\": null,\n                \"is_read\": false,\n                \"read_at\": null,\n                \"created_at\": \"2026-11-04T09:11:06+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/notifications?page=1\",\n            \"last\": \"http://localhost/api/v1/notifications?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/notifications?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/notifications\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "shared.notifications.index",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/notifications",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                                "applies_to": {
                                                    "surface": "shared",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "notification_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh",
                                                    "client.auth.verify",
                                                    "client.auth.refresh",
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh",
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"notification_id\",\"Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}.\"],[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"notification_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/notifications/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "notifications",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{notification_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `shared.notifications.show`\n**Middleware:** `api, set_locale, cors, auth:api, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{notification_id}}` — Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}.\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `notification_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Open one notification and mark it read\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `404` Another app's notification\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Notification marked as read\",\n    \"data\": {\n        \"id\": \"01a1a60a-7826-72b7-a359-7e1788d49274\",\n        \"type\": \"order.confirmed\",\n        \"title\": \"Demo notification\",\n        \"body\": \"Sample in-app notification; no delivery is dispatched.\",\n        \"data\": null,\n        \"order_id\": null,\n        \"is_read\": true,\n        \"read_at\": \"2026-11-04T10:11:06+00:00\",\n        \"created_at\": \"2026-11-04T10:11:06+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Open one notification and mark it read",
                                            "_joshen": {
                                                "route": "shared.notifications.show",
                                                "name": "Open one notification and mark it read",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/notifications/01a1a60a-7826-72b7-a359-7e1788d49274",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_19_show_marks_read_and_refuses_foreign_rows"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/01a1a60a-7826-72b7-a359-7e1788d49274",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        "01a1a60a-7826-72b7-a359-7e1788d49274"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notification marked as read\",\n    \"data\": {\n        \"id\": \"01a1a60a-7826-72b7-a359-7e1788d49274\",\n        \"type\": \"order.confirmed\",\n        \"title\": \"Demo notification\",\n        \"body\": \"Sample in-app notification; no delivery is dispatched.\",\n        \"data\": null,\n        \"order_id\": null,\n        \"is_read\": true,\n        \"read_at\": \"2026-11-04T10:11:06+00:00\",\n        \"created_at\": \"2026-11-04T10:11:06+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "shared.notifications.index",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/notifications",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                                "applies_to": {
                                                    "surface": "shared",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{notification_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Another app's notification",
                                            "_joshen": {
                                                "route": "shared.notifications.show",
                                                "name": "Another app's notification",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/notifications/01a1a60a-7827-7058-b5ef-29418e5566e4",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_19_show_marks_read_and_refuses_foreign_rows"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/01a1a60a-7827-7058-b5ef-29418e5566e4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        "01a1a60a-7827-7058-b5ef-29418e5566e4"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Notification not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "notification_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "notification_id",
                                                "set_by": [
                                                    "admin.notifications.index",
                                                    "shared.notifications.index",
                                                    "shared.notifications.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}."
                                            },
                                            {
                                                "name": "token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh",
                                                    "client.auth.verify",
                                                    "client.auth.refresh",
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh",
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"notification_id\",\"Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}.\"],[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/notifications/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "notifications",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{notification_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `shared.notifications.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{notification_id}}` — Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}.\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Delete one notification\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Notification deleted successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Delete one notification",
                                            "_joshen": {
                                                "route": "shared.notifications.destroy",
                                                "name": "Delete one notification",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/notifications/01a1a60a-7864-7065-8bef-d60bc20ad71d",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_destroy_mark_all_and_clear_all_stay_in_the_app"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/01a1a60a-7864-7065-8bef-d60bc20ad71d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        "01a1a60a-7864-7065-8bef-d60bc20ad71d"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notification deleted successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "shared.notifications.index",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/notifications",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                                "applies_to": {
                                                    "surface": "shared",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{notification_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "notification_id",
                                                "set_by": [
                                                    "admin.notifications.index",
                                                    "shared.notifications.index",
                                                    "shared.notifications.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/notifications, GET /api/v1/notifications, GET /api/v1/notifications/{id}."
                                            },
                                            {
                                                "name": "token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh",
                                                    "client.auth.verify",
                                                    "client.auth.refresh",
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh",
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Mark All Read",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/notifications/mark-all-read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "notifications",
                                                "mark-all-read"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `shared.notifications.mark-all-read`\n**Middleware:** `api, set_locale, cors, auth:api, active`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Mark all as read\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"All notifications marked as read\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Mark all as read",
                                            "_joshen": {
                                                "route": "shared.notifications.mark-all-read",
                                                "name": "Mark all as read",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/notifications/mark-all-read",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_destroy_mark_all_and_clear_all_stay_in_the_app"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/mark-all-read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        "mark-all-read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"All notifications marked as read\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "shared.notifications.index",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/notifications",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                                "applies_to": {
                                                    "surface": "shared",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/mark-all-read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        "mark-all-read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/mark-all-read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        "mark-all-read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh",
                                                    "client.auth.verify",
                                                    "client.auth.refresh",
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh",
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Clear All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/notifications/clear-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "notifications",
                                                "clear-all"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `shared.notifications.clear-all`\n**Middleware:** `api, set_locale, cors, auth:api, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Clear the inbox\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"All notifications cleared\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Clear the inbox",
                                            "_joshen": {
                                                "route": "shared.notifications.clear-all",
                                                "name": "Clear the inbox",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/notifications/clear-all",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_destroy_mark_all_and_clear_all_stay_in_the_app"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/clear-all",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        "clear-all"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"All notifications cleared\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "shared.notifications.index",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/notifications",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationInboxTest::test_td_25_guest_401_and_admin_empty",
                                                "applies_to": {
                                                    "surface": "shared",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/notifications/clear-all",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "notifications",
                                                        "clear-all"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh",
                                                    "client.auth.verify",
                                                    "client.auth.refresh",
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh",
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh, POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh, POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh, POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "Admin",
            "item": [
                {
                    "name": "Account",
                    "item": [
                        {
                            "name": "Auth",
                            "item": [
                                {
                                    "name": "Login",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"admin_token\",\"data.access_token\"],[\"token\",\"data.access_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/auth/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "auth",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.auth.login`\n**Middleware:** `api, set_locale, cors, throttle:admin-login`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `login`\n- **Description:** Admin e-mail address; admins sign in with e-mail and password, never a phone (TD-01).\n- **Type:** `string (email)`\n- **Required:** required\n- **Example:** `admin@info.com`\n- **Validation rules:** `required|email|max:255`\n- `required` — must be provided.\n- `email` — must be a valid email address.\n- `max:255` — must not exceed 255.\n### `password`\n- **Description:** Admin password.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `12345678`\n- **Validation rules:** `required|string|max:4096`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n\n**Variables:**\n- Saves `admin_token` ← `data.access_token` of a 2xx response\n- Saves `token` ← `data.access_token` of a 2xx response\n\n**Responses:**\n- `200` Login\n- `200` Login Succeeded\n- `422` Invalid Credentials — `error_code: INVALID_CREDENTIALS`\n- `422` Login Missing Fields\n- `422` Login Wrong Password — `error_code: INVALID_CREDENTIALS`\n- `429` Too many login attempts — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"You logged in successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 43200,\n        \"user\": {\n            \"id\": \"01a19762-f58f-73b3-a6e0-2adc2e84c59c\",\n            \"full_name\": \"Heidi Ondricka\",\n            \"phone_code\": \"966\",\n            \"phone\": \"543249357\",\n            \"email\": \"auth-admin@example.test\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": {\n                \"id\": \"01a19762-f57d-7241-8515-ecce45d1502a\",\n                \"name\": \"Sample-tpie77611120\"\n            },\n            \"permissions\": {\n                \"Customers\": [\n                    {\n                        \"id\": \"01a19762-f589-700d-ae74-6cf545f3a9db\",\n                        \"title\": \"Sample-pmri04676087\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a19762-f586-707d-a4ef-8c34c6d2ed75\",\n                        \"title\": \"Sample-suan14793041\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"supervisor\",\n                \"label\": \"Supervisor\"\n            }\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"login\": \"admin@info.com\",\n    \"password\": \"12345678\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Login",
                                            "_joshen": {
                                                "route": "admin.auth.login",
                                                "name": "Login",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/login",
                                                    "query": null,
                                                    "body": {
                                                        "login": "auth-admin@example.test",
                                                        "password": "password"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"login\": \"auth-admin@example.test\",\n    \"password\": \"password\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"You logged in successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 43200,\n        \"user\": {\n            \"id\": \"01a19762-f58f-73b3-a6e0-2adc2e84c59c\",\n            \"full_name\": \"Heidi Ondricka\",\n            \"phone_code\": \"966\",\n            \"phone\": \"543249357\",\n            \"email\": \"auth-admin@example.test\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": {\n                \"id\": \"01a19762-f57d-7241-8515-ecce45d1502a\",\n                \"name\": \"Sample-tpie77611120\"\n            },\n            \"permissions\": {\n                \"Customers\": [\n                    {\n                        \"id\": \"01a19762-f589-700d-ae74-6cf545f3a9db\",\n                        \"title\": \"Sample-pmri04676087\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a19762-f586-707d-a4ef-8c34c6d2ed75\",\n                        \"title\": \"Sample-suan14793041\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"supervisor\",\n                \"label\": \"Supervisor\"\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Login Succeeded",
                                            "_joshen": {
                                                "route": "admin.auth.login",
                                                "name": "Login Succeeded",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/login",
                                                    "query": null,
                                                    "body": {
                                                        "login": "haylee.herzog@example.net",
                                                        "password": "secret-pass-1"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_login_and_logout_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"login\": \"haylee.herzog@example.net\",\n    \"password\": \"secret-pass-1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"You logged in successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 43200,\n        \"user\": {\n            \"id\": \"01a1babb-3b1f-72ef-944d-333803cf91bb\",\n            \"full_name\": \"Myrtice Hermann\",\n            \"phone_code\": \"966\",\n            \"phone\": \"533498198\",\n            \"email\": \"haylee.herzog@example.net\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": null,\n            \"permissions\": {\n                \"Dashboard\": [\n                    {\n                        \"id\": \"01a1babb-3999-734a-8880-6244c1c0c825\",\n                        \"title\": \"Dashboard · View (dashboard.index)\",\n                        \"back_route_name\": \"dashboard.index\",\n                        \"front_route_name\": \"home/show-all\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Customers\": [\n                    {\n                        \"id\": \"01a1babb-3b14-733c-b762-8ae4e31d463c\",\n                        \"title\": \"Customers · View (users.index)\",\n                        \"back_route_name\": \"users.index\",\n                        \"front_route_name\": \"users/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b18-7164-9275-02853162dd7e\",\n                        \"title\": \"Customers · View (users.view)\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b1b-7046-9b24-431951b26fe9\",\n                        \"title\": \"Customers · View (users.wallet-transactions)\",\n                        \"back_route_name\": \"users.wallet-transactions\",\n                        \"front_route_name\": \"users/wallet-transactions\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b16-7294-9ab4-f279ab89ee63\",\n                        \"title\": \"Customers · Edit (users.toggle)\",\n                        \"back_route_name\": \"users.toggle\",\n                        \"front_route_name\": \"users/toggle-active\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Service providers\": [\n                    {\n                        \"id\": \"01a1babb-3a73-7336-a37e-f0737f57f140\",\n                        \"title\": \"Service providers · View (providers.index)\",\n                        \"back_route_name\": \"providers.index\",\n                        \"front_route_name\": \"providers/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a7d-7110-8096-5a5e9477bea7\",\n                        \"title\": \"Service providers · View (providers.show)\",\n                        \"back_route_name\": \"providers.show\",\n                        \"front_route_name\": \"providers/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a81-7231-9020-99a64bf61410\",\n                        \"title\": \"Service providers · Edit (providers.work-area)\",\n                        \"back_route_name\": \"providers.work-area\",\n                        \"front_route_name\": \"providers/work-area\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a6f-73e0-99e7-c3d1d513d2d2\",\n                        \"title\": \"Service providers · Approve (providers.approve)\",\n                        \"back_route_name\": \"providers.approve\",\n                        \"front_route_name\": \"providers/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a71-7138-bce8-84d9b486b744\",\n                        \"title\": \"Service providers · Approve (providers.identity)\",\n                        \"back_route_name\": \"providers.identity\",\n                        \"front_route_name\": \"providers/identity\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a75-711e-bca6-a5f9b5a1d085\",\n                        \"title\": \"Service providers · Approve (providers.reactivate)\",\n                        \"back_route_name\": \"providers.reactivate\",\n                        \"front_route_name\": \"providers/reactivate\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a78-730d-a658-d0eabaed31c4\",\n                        \"title\": \"Service providers · Approve (providers.reject)\",\n                        \"back_route_name\": \"providers.reject\",\n                        \"front_route_name\": \"providers/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a7a-7158-88e0-bd365d6a8334\",\n                        \"title\": \"Service providers · Approve (providers.request-changes)\",\n                        \"back_route_name\": \"providers.request-changes\",\n                        \"front_route_name\": \"providers/request-changes\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a7f-73c9-87ba-f6b806efc26d\",\n                        \"title\": \"Service providers · Approve (providers.suspend)\",\n                        \"back_route_name\": \"providers.suspend\",\n                        \"front_route_name\": \"providers/suspend\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Drivers\": [\n                    {\n                        \"id\": \"01a1babb-39ac-70d5-aab7-ccb9f469d307\",\n                        \"title\": \"Drivers · View (drivers.index)\",\n                        \"back_route_name\": \"drivers.index\",\n                        \"front_route_name\": \"drivers/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39b6-73be-a720-76467b0fe7ca\",\n                        \"title\": \"Drivers · View (drivers.show)\",\n                        \"back_route_name\": \"drivers.show\",\n                        \"front_route_name\": \"drivers/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39ba-73df-8628-3de6a753d7a7\",\n                        \"title\": \"Drivers · Edit (drivers.work-area)\",\n                        \"back_route_name\": \"drivers.work-area\",\n                        \"front_route_name\": \"drivers/work-area\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39a8-7284-9e61-c1394ae16fac\",\n                        \"title\": \"Drivers · Approve (drivers.approve)\",\n                        \"back_route_name\": \"drivers.approve\",\n                        \"front_route_name\": \"drivers/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39aa-723d-b1b4-798f443afd9e\",\n                        \"title\": \"Drivers · Approve (drivers.identity)\",\n                        \"back_route_name\": \"drivers.identity\",\n                        \"front_route_name\": \"drivers/identity\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39af-7351-a9ee-4b9e1a2129af\",\n                        \"title\": \"Drivers · Approve (drivers.reactivate)\",\n                        \"back_route_name\": \"drivers.reactivate\",\n                        \"front_route_name\": \"drivers/reactivate\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39b1-7195-beb9-ae64a07a35f0\",\n                        \"title\": \"Drivers · Approve (drivers.reject)\",\n                        \"back_route_name\": \"drivers.reject\",\n                        \"front_route_name\": \"drivers/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39b3-7017-9622-de938fe93dc3\",\n                        \"title\": \"Drivers · Approve (drivers.request-changes)\",\n                        \"back_route_name\": \"drivers.request-changes\",\n                        \"front_route_name\": \"drivers/request-changes\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39b8-7242-b59c-e365e3bf32ef\",\n                        \"title\": \"Drivers · Approve (drivers.suspend)\",\n                        \"back_route_name\": \"drivers.suspend\",\n                        \"front_route_name\": \"drivers/suspend\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Registration review\": [\n                    {\n                        \"id\": \"01a1babb-395a-71a4-9a2f-9fb622cca427\",\n                        \"title\": \"Registration review · View (category-requests.index)\",\n                        \"back_route_name\": \"category-requests.index\",\n                        \"front_route_name\": \"category-requests/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aa1-71ca-bba1-0a3942a04d3f\",\n                        \"title\": \"Registration review · View (registration-requests.index)\",\n                        \"back_route_name\": \"registration-requests.index\",\n                        \"front_route_name\": \"registration-requests/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aa9-72d0-a3d9-be93b203990e\",\n                        \"title\": \"Registration review · View (registration-requests.show)\",\n                        \"back_route_name\": \"registration-requests.show\",\n                        \"front_route_name\": \"registration-requests/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3958-707b-b3bf-25614309f369\",\n                        \"title\": \"Registration review · Approve (category-requests.approve)\",\n                        \"back_route_name\": \"category-requests.approve\",\n                        \"front_route_name\": \"category-requests/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-395e-71cb-9e13-40533e1531b0\",\n                        \"title\": \"Registration review · Approve (category-requests.reject)\",\n                        \"back_route_name\": \"category-requests.reject\",\n                        \"front_route_name\": \"category-requests/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a9f-7228-aed3-9686996912c2\",\n                        \"title\": \"Registration review · Approve (registration-requests.approve)\",\n                        \"back_route_name\": \"registration-requests.approve\",\n                        \"front_route_name\": \"registration-requests/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aa4-72ca-8fea-5b2486177779\",\n                        \"title\": \"Registration review · Approve (registration-requests.reject)\",\n                        \"back_route_name\": \"registration-requests.reject\",\n                        \"front_route_name\": \"registration-requests/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aa6-7031-a8f8-8dbaea24adac\",\n                        \"title\": \"Registration review · Approve (registration-requests.request-changes)\",\n                        \"back_route_name\": \"registration-requests.request-changes\",\n                        \"front_route_name\": \"registration-requests/request-changes\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Service areas\": [\n                    {\n                        \"id\": \"01a1babb-3981-73dc-9ce1-6e4b605b5e5f\",\n                        \"title\": \"Service areas · View (countries.index)\",\n                        \"back_route_name\": \"countries.index\",\n                        \"front_route_name\": \"countries/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3983-70b7-a382-7b7cdfae8491\",\n                        \"title\": \"Service areas · View (countries.show)\",\n                        \"back_route_name\": \"countries.show\",\n                        \"front_route_name\": \"countries/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-399f-72b2-8a67-2acdbd87479d\",\n                        \"title\": \"Service areas · View (delivery-fee-rules.index)\",\n                        \"back_route_name\": \"delivery-fee-rules.index\",\n                        \"front_route_name\": \"delivery-fee-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39a1-73ee-9eec-e4f60d53af39\",\n                        \"title\": \"Service areas · View (delivery-fee-rules.show)\",\n                        \"back_route_name\": \"delivery-fee-rules.show\",\n                        \"front_route_name\": \"delivery-fee-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39e9-73ae-b92d-97710002f738\",\n                        \"title\": \"Service areas · View (governorates.index)\",\n                        \"back_route_name\": \"governorates.index\",\n                        \"front_route_name\": \"governorates/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39eb-7044-90a8-6638623fe9dd\",\n                        \"title\": \"Service areas · View (governorates.show)\",\n                        \"back_route_name\": \"governorates.show\",\n                        \"front_route_name\": \"governorates/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a90-70b0-8a70-9bea48856c81\",\n                        \"title\": \"Service areas · View (regions.index)\",\n                        \"back_route_name\": \"regions.index\",\n                        \"front_route_name\": \"regions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a94-7108-bb4d-a95dace35c16\",\n                        \"title\": \"Service areas · View (regions.show)\",\n                        \"back_route_name\": \"regions.show\",\n                        \"front_route_name\": \"regions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3986-70de-b8b9-a9b0c8a9d174\",\n                        \"title\": \"Service areas · Add (countries.store)\",\n                        \"back_route_name\": \"countries.store\",\n                        \"front_route_name\": \"countries/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39a3-70e2-a01d-98c1259997f7\",\n                        \"title\": \"Service areas · Add (delivery-fee-rules.store)\",\n                        \"back_route_name\": \"delivery-fee-rules.store\",\n                        \"front_route_name\": \"delivery-fee-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39ee-705b-93dd-9024c6c268db\",\n                        \"title\": \"Service areas · Add (governorates.store)\",\n                        \"back_route_name\": \"governorates.store\",\n                        \"front_route_name\": \"governorates/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a98-7257-afd5-c021b954fb1f\",\n                        \"title\": \"Service areas · Add (regions.store)\",\n                        \"back_route_name\": \"regions.store\",\n                        \"front_route_name\": \"regions/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3988-7295-b655-ace46cee0043\",\n                        \"title\": \"Service areas · Edit (countries.update)\",\n                        \"back_route_name\": \"countries.update\",\n                        \"front_route_name\": \"countries/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39a6-7080-aeb4-eb4f384d19ae\",\n                        \"title\": \"Service areas · Edit (delivery-fee-rules.update)\",\n                        \"back_route_name\": \"delivery-fee-rules.update\",\n                        \"front_route_name\": \"delivery-fee-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39f2-7039-9205-f49e900fe965\",\n                        \"title\": \"Service areas · Edit (governorates.update)\",\n                        \"back_route_name\": \"governorates.update\",\n                        \"front_route_name\": \"governorates/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a9b-708e-bd28-fd68500f9986\",\n                        \"title\": \"Service areas · Edit (regions.update)\",\n                        \"back_route_name\": \"regions.update\",\n                        \"front_route_name\": \"regions/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-397e-7269-afa9-ce9684ccbbe1\",\n                        \"title\": \"Service areas · Delete (countries.destroy)\",\n                        \"back_route_name\": \"countries.destroy\",\n                        \"front_route_name\": \"countries/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-399c-72b7-8205-d450ec9363cb\",\n                        \"title\": \"Service areas · Delete (delivery-fee-rules.destroy)\",\n                        \"back_route_name\": \"delivery-fee-rules.destroy\",\n                        \"front_route_name\": \"delivery-fee-rules/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39e6-71e5-a5f1-8d60cc05c224\",\n                        \"title\": \"Service areas · Delete (governorates.destroy)\",\n                        \"back_route_name\": \"governorates.destroy\",\n                        \"front_route_name\": \"governorates/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a8d-72f2-ba84-f5a13f4638e4\",\n                        \"title\": \"Service areas · Delete (regions.destroy)\",\n                        \"back_route_name\": \"regions.destroy\",\n                        \"front_route_name\": \"regions/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Services, options & price ranges\": [\n                    {\n                        \"id\": \"01a1babb-3947-728d-8c2a-5d16c884bd58\",\n                        \"title\": \"Services, options & price ranges · View (categories.index)\",\n                        \"back_route_name\": \"categories.index\",\n                        \"front_route_name\": \"categories/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-394a-70c6-8f53-129806b90895\",\n                        \"title\": \"Services, options & price ranges · View (categories.show)\",\n                        \"back_route_name\": \"categories.show\",\n                        \"front_route_name\": \"categories/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3953-7195-9f3c-b233a1989ca7\",\n                        \"title\": \"Services, options & price ranges · View (categories.tree)\",\n                        \"back_route_name\": \"categories.tree\",\n                        \"front_route_name\": \"categories/tree\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39f4-73b5-9b34-4c9739483cf3\",\n                        \"title\": \"Services, options & price ranges · View (joshan.config.show)\",\n                        \"back_route_name\": \"joshan.config.show\",\n                        \"front_route_name\": \"joshan/config/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39fc-716e-b255-e8247faa0afe\",\n                        \"title\": \"Services, options & price ranges · View (joshan.occasions.index)\",\n                        \"back_route_name\": \"joshan.occasions.index\",\n                        \"front_route_name\": \"joshan/occasions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39fe-7241-ada2-a79e934a8168\",\n                        \"title\": \"Services, options & price ranges · View (joshan.occasions.show)\",\n                        \"back_route_name\": \"joshan.occasions.show\",\n                        \"front_route_name\": \"joshan/occasions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a08-7213-86de-36a7febd4da1\",\n                        \"title\": \"Services, options & price ranges · View (joshan.searches.index)\",\n                        \"back_route_name\": \"joshan.searches.index\",\n                        \"front_route_name\": \"joshan/searches/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a0a-70b1-a80c-93ed1753fece\",\n                        \"title\": \"Services, options & price ranges · View (joshan.searches.summary)\",\n                        \"back_route_name\": \"joshan.searches.summary\",\n                        \"front_route_name\": \"joshan/searches/summary\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ad3-72ae-a22b-e2317cefe100\",\n                        \"title\": \"Services, options & price ranges · View (services.index)\",\n                        \"back_route_name\": \"services.index\",\n                        \"front_route_name\": \"services/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ad5-7252-bd6a-3b4bc11f3916\",\n                        \"title\": \"Services, options & price ranges · View (services.show)\",\n                        \"back_route_name\": \"services.show\",\n                        \"front_route_name\": \"services/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-394e-71ff-a917-c52662b24b70\",\n                        \"title\": \"Services, options & price ranges · Add (categories.store)\",\n                        \"back_route_name\": \"categories.store\",\n                        \"front_route_name\": \"categories/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a03-70e5-b31f-08bc6145c7d5\",\n                        \"title\": \"Services, options & price ranges · Add (joshan.occasions.store)\",\n                        \"back_route_name\": \"joshan.occasions.store\",\n                        \"front_route_name\": \"joshan/occasions/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ad7-7345-a232-99cb911b048f\",\n                        \"title\": \"Services, options & price ranges · Add (services.store)\",\n                        \"back_route_name\": \"services.store\",\n                        \"front_route_name\": \"services/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3950-71f7-bcaa-47f3870270e7\",\n                        \"title\": \"Services, options & price ranges · Edit (categories.toggle-active)\",\n                        \"back_route_name\": \"categories.toggle-active\",\n                        \"front_route_name\": \"categories/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3955-70d9-8b21-7d15eac2cd02\",\n                        \"title\": \"Services, options & price ranges · Edit (categories.update)\",\n                        \"back_route_name\": \"categories.update\",\n                        \"front_route_name\": \"categories/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39f6-72bd-94fa-06d6878b9f54\",\n                        \"title\": \"Services, options & price ranges · Edit (joshan.config.update)\",\n                        \"back_route_name\": \"joshan.config.update\",\n                        \"front_route_name\": \"joshan/config/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a06-7327-b185-9770bb69a4c3\",\n                        \"title\": \"Services, options & price ranges · Edit (joshan.occasions.update)\",\n                        \"back_route_name\": \"joshan.occasions.update\",\n                        \"front_route_name\": \"joshan/occasions/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ada-7284-b6d8-5c6fcf8e3e0b\",\n                        \"title\": \"Services, options & price ranges · Edit (services.toggle-active)\",\n                        \"back_route_name\": \"services.toggle-active\",\n                        \"front_route_name\": \"services/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3add-7126-a9b1-5ab5f5b5f25f\",\n                        \"title\": \"Services, options & price ranges · Edit (services.update)\",\n                        \"back_route_name\": \"services.update\",\n                        \"front_route_name\": \"services/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3945-71ea-a87b-eb056b095597\",\n                        \"title\": \"Services, options & price ranges · Delete (categories.destroy)\",\n                        \"back_route_name\": \"categories.destroy\",\n                        \"front_route_name\": \"categories/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39f9-72bf-ba41-92ea75e0fd75\",\n                        \"title\": \"Services, options & price ranges · Delete (joshan.occasions.destroy)\",\n                        \"back_route_name\": \"joshan.occasions.destroy\",\n                        \"front_route_name\": \"joshan/occasions/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ad1-72a1-85b8-44c7c177b02d\",\n                        \"title\": \"Services, options & price ranges · Delete (services.destroy)\",\n                        \"back_route_name\": \"services.destroy\",\n                        \"front_route_name\": \"services/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Packages\": [\n                    {\n                        \"id\": \"01a1babb-3a3c-700b-a322-6daa9baacaf2\",\n                        \"title\": \"Packages · View (packages.index)\",\n                        \"back_route_name\": \"packages.index\",\n                        \"front_route_name\": \"packages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a42-716b-bcc9-d005283dc55e\",\n                        \"title\": \"Packages · View (packages.show)\",\n                        \"back_route_name\": \"packages.show\",\n                        \"front_route_name\": \"packages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a39-70c1-9c62-4722880b675a\",\n                        \"title\": \"Packages · Edit (packages.hide)\",\n                        \"back_route_name\": \"packages.hide\",\n                        \"front_route_name\": \"packages/hide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a44-71c5-8729-0f441df49b00\",\n                        \"title\": \"Packages · Edit (packages.unhide)\",\n                        \"back_route_name\": \"packages.unhide\",\n                        \"front_route_name\": \"packages/unhide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a37-7065-b30d-be582c9aea91\",\n                        \"title\": \"Packages · Approve (packages.approve)\",\n                        \"back_route_name\": \"packages.approve\",\n                        \"front_route_name\": \"packages/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a3f-73c6-b426-c74c4831cd56\",\n                        \"title\": \"Packages · Approve (packages.reject)\",\n                        \"back_route_name\": \"packages.reject\",\n                        \"front_route_name\": \"packages/reject\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Orders\": [\n                    {\n                        \"id\": \"01a1babb-397a-72e1-99fe-d5fc191afa96\",\n                        \"title\": \"Orders · View (conversations.index)\",\n                        \"back_route_name\": \"conversations.index\",\n                        \"front_route_name\": \"conversations/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-397c-7375-90ad-1338a5969a95\",\n                        \"title\": \"Orders · View (conversations.show)\",\n                        \"back_route_name\": \"conversations.show\",\n                        \"front_route_name\": \"conversations/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a30-735a-a00f-886d65b48adc\",\n                        \"title\": \"Orders · View (orders.index)\",\n                        \"back_route_name\": \"orders.index\",\n                        \"front_route_name\": \"orders/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a34-707f-8498-67fb9b10f948\",\n                        \"title\": \"Orders · View (orders.show)\",\n                        \"back_route_name\": \"orders.show\",\n                        \"front_route_name\": \"orders/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Transportation monitoring\": [\n                    {\n                        \"id\": \"01a1babb-3b0f-704a-bf38-37ae7a6d16bb\",\n                        \"title\": \"Transportation monitoring · View (trips.index)\",\n                        \"back_route_name\": \"trips.index\",\n                        \"front_route_name\": \"trips/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b11-7331-bbc9-67d06886baf1\",\n                        \"title\": \"Transportation monitoring · View (trips.show)\",\n                        \"back_route_name\": \"trips.show\",\n                        \"front_route_name\": \"trips/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Payments & coupons\": [\n                    {\n                        \"id\": \"01a1babb-398d-705e-bc0f-c50f9126aa6e\",\n                        \"title\": \"Payments & coupons · View (coupons.index)\",\n                        \"back_route_name\": \"coupons.index\",\n                        \"front_route_name\": \"coupons/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-398f-71e7-a500-b9f2d06aadf0\",\n                        \"title\": \"Payments & coupons · View (coupons.redemptions)\",\n                        \"back_route_name\": \"coupons.redemptions\",\n                        \"front_route_name\": \"coupons/redemptions\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3991-72fd-bcd4-b44d1daba94e\",\n                        \"title\": \"Payments & coupons · View (coupons.show)\",\n                        \"back_route_name\": \"coupons.show\",\n                        \"front_route_name\": \"coupons/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a52-7289-947e-08bdca644011\",\n                        \"title\": \"Payments & coupons · View (payments.index)\",\n                        \"back_route_name\": \"payments.index\",\n                        \"front_route_name\": \"payments/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a55-7174-9583-ebd3f6529bf2\",\n                        \"title\": \"Payments & coupons · View (payments.show)\",\n                        \"back_route_name\": \"payments.show\",\n                        \"front_route_name\": \"payments/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3994-7139-8d81-3e342012e705\",\n                        \"title\": \"Payments & coupons · Add (coupons.store)\",\n                        \"back_route_name\": \"coupons.store\",\n                        \"front_route_name\": \"coupons/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3997-705f-aefe-f6992d33ba53\",\n                        \"title\": \"Payments & coupons · Edit (coupons.update)\",\n                        \"back_route_name\": \"coupons.update\",\n                        \"front_route_name\": \"coupons/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-398a-71fe-bd97-3fd465da228f\",\n                        \"title\": \"Payments & coupons · Delete (coupons.destroy)\",\n                        \"back_route_name\": \"coupons.destroy\",\n                        \"front_route_name\": \"coupons/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Commissions, amounts due & payouts\": [\n                    {\n                        \"id\": \"01a1babb-3964-705d-a373-59cd80243532\",\n                        \"title\": \"Commissions, amounts due & payouts · View (commission-rules.index)\",\n                        \"back_route_name\": \"commission-rules.index\",\n                        \"front_route_name\": \"commission-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3967-7088-a0a8-36caa824b11e\",\n                        \"title\": \"Commissions, amounts due & payouts · View (commission-rules.show)\",\n                        \"back_route_name\": \"commission-rules.show\",\n                        \"front_route_name\": \"commission-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a57-70ae-a67e-89a5fbd0166b\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payout-balances.index)\",\n                        \"back_route_name\": \"payout-balances.index\",\n                        \"front_route_name\": \"payout-balances/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a61-7357-8929-d22352546958\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payouts.index)\",\n                        \"back_route_name\": \"payouts.index\",\n                        \"front_route_name\": \"payouts/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a6a-723a-8629-4a916e120012\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payouts.show)\",\n                        \"back_route_name\": \"payouts.show\",\n                        \"front_route_name\": \"payouts/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3969-725c-a813-ada57569750c\",\n                        \"title\": \"Commissions, amounts due & payouts · Add (commission-rules.store)\",\n                        \"back_route_name\": \"commission-rules.store\",\n                        \"front_route_name\": \"commission-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-396d-73f5-b2a0-ce96bd808bac\",\n                        \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.toggle-active)\",\n                        \"back_route_name\": \"commission-rules.toggle-active\",\n                        \"front_route_name\": \"commission-rules/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-396f-7213-ab62-21ebc0564fae\",\n                        \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.update)\",\n                        \"back_route_name\": \"commission-rules.update\",\n                        \"front_route_name\": \"commission-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3961-73dc-af68-4f7b6a28f03d\",\n                        \"title\": \"Commissions, amounts due & payouts · Delete (commission-rules.destroy)\",\n                        \"back_route_name\": \"commission-rules.destroy\",\n                        \"front_route_name\": \"commission-rules/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a59-7095-b0b4-ab8ec9bb943e\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.bank-account)\",\n                        \"back_route_name\": \"payouts.bank-account\",\n                        \"front_route_name\": \"payouts/bank-account\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a5c-73b3-867b-7c09978c9922\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.cancel)\",\n                        \"back_route_name\": \"payouts.cancel\",\n                        \"front_route_name\": \"payouts/cancel\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a5f-708a-a0c5-85de0600b131\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.fail)\",\n                        \"back_route_name\": \"payouts.fail\",\n                        \"front_route_name\": \"payouts/fail\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a64-714d-95c8-4b67c9f3a638\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.paid)\",\n                        \"back_route_name\": \"payouts.paid\",\n                        \"front_route_name\": \"payouts/paid\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a67-738b-904f-8737aa1ac2e5\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.processing)\",\n                        \"back_route_name\": \"payouts.processing\",\n                        \"front_route_name\": \"payouts/processing\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Cancellations & refunds\": [\n                    {\n                        \"id\": \"01a1babb-3932-729a-bdd6-744d976b85d8\",\n                        \"title\": \"Cancellations & refunds · View (cancellation-rules.index)\",\n                        \"back_route_name\": \"cancellation-rules.index\",\n                        \"front_route_name\": \"cancellation-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3935-71c5-a462-3c19a904b43f\",\n                        \"title\": \"Cancellations & refunds · View (cancellation-rules.show)\",\n                        \"back_route_name\": \"cancellation-rules.show\",\n                        \"front_route_name\": \"cancellation-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3940-72ef-88c1-e075abe76288\",\n                        \"title\": \"Cancellations & refunds · View (cancellations.index)\",\n                        \"back_route_name\": \"cancellations.index\",\n                        \"front_route_name\": \"cancellations/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3943-72e7-b1f8-6d7c8d150cd5\",\n                        \"title\": \"Cancellations & refunds · View (cancellations.show)\",\n                        \"back_route_name\": \"cancellations.show\",\n                        \"front_route_name\": \"cancellations/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a84-73fc-9b7c-7318f31cf408\",\n                        \"title\": \"Cancellations & refunds · View (refunds.index)\",\n                        \"back_route_name\": \"refunds.index\",\n                        \"front_route_name\": \"refunds/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a87-72eb-81d9-3e45034ec299\",\n                        \"title\": \"Cancellations & refunds · View (refunds.show)\",\n                        \"back_route_name\": \"refunds.show\",\n                        \"front_route_name\": \"refunds/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3938-71b7-8e04-0a474045bce3\",\n                        \"title\": \"Cancellations & refunds · Add (cancellation-rules.store)\",\n                        \"back_route_name\": \"cancellation-rules.store\",\n                        \"front_route_name\": \"cancellation-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a8a-7297-99f8-eb8b1d6fa4ec\",\n                        \"title\": \"Cancellations & refunds · Add (refunds.store)\",\n                        \"back_route_name\": \"refunds.store\",\n                        \"front_route_name\": \"refunds/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-393e-70c5-bd8e-f5fff157d6ce\",\n                        \"title\": \"Cancellations & refunds · Edit (cancellation-rules.update)\",\n                        \"back_route_name\": \"cancellation-rules.update\",\n                        \"front_route_name\": \"cancellation-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-392f-719e-9714-f840b8149099\",\n                        \"title\": \"Cancellations & refunds · Delete (cancellation-rules.destroy)\",\n                        \"back_route_name\": \"cancellation-rules.destroy\",\n                        \"front_route_name\": \"cancellation-rules/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Featured subscriptions\": [\n                    {\n                        \"id\": \"01a1babb-39d9-707b-8514-e957844f5cc1\",\n                        \"title\": \"Featured subscriptions · View (featured-plans.index)\",\n                        \"back_route_name\": \"featured-plans.index\",\n                        \"front_route_name\": \"featured-plans/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39db-719e-b8c9-1dafd53663eb\",\n                        \"title\": \"Featured subscriptions · View (featured-plans.show)\",\n                        \"back_route_name\": \"featured-plans.show\",\n                        \"front_route_name\": \"featured-plans/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39e2-7106-986d-352215e85da7\",\n                        \"title\": \"Featured subscriptions · View (featured-subscriptions.index)\",\n                        \"back_route_name\": \"featured-subscriptions.index\",\n                        \"front_route_name\": \"featured-subscriptions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39e4-7299-afab-45c74df03553\",\n                        \"title\": \"Featured subscriptions · View (featured-subscriptions.show)\",\n                        \"back_route_name\": \"featured-subscriptions.show\",\n                        \"front_route_name\": \"featured-subscriptions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39dd-71a8-ab42-8ead0930b4e4\",\n                        \"title\": \"Featured subscriptions · Add (featured-plans.store)\",\n                        \"back_route_name\": \"featured-plans.store\",\n                        \"front_route_name\": \"featured-plans/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39df-710f-8115-11d189cc8957\",\n                        \"title\": \"Featured subscriptions · Edit (featured-plans.update)\",\n                        \"back_route_name\": \"featured-plans.update\",\n                        \"front_route_name\": \"featured-plans/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39d7-706d-bf0c-6b55d839e5f9\",\n                        \"title\": \"Featured subscriptions · Delete (featured-plans.destroy)\",\n                        \"back_route_name\": \"featured-plans.destroy\",\n                        \"front_route_name\": \"featured-plans/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Ratings\": [\n                    {\n                        \"id\": \"01a1babb-3ab7-73f5-b1b4-f21a922d604a\",\n                        \"title\": \"Ratings · View (reviews.index)\",\n                        \"back_route_name\": \"reviews.index\",\n                        \"front_route_name\": \"reviews/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3abc-732e-aac4-bdd4977d88bc\",\n                        \"title\": \"Ratings · View (reviews.show)\",\n                        \"back_route_name\": \"reviews.show\",\n                        \"front_route_name\": \"reviews/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ab2-7073-8797-cecc57589cee\",\n                        \"title\": \"Ratings · Edit (reviews.hide)\",\n                        \"back_route_name\": \"reviews.hide\",\n                        \"front_route_name\": \"reviews/hide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aba-70b4-99a2-a52abb122500\",\n                        \"title\": \"Ratings · Edit (reviews.publish)\",\n                        \"back_route_name\": \"reviews.publish\",\n                        \"front_route_name\": \"reviews/publish\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Banners & content\": [\n                    {\n                        \"id\": \"01a1babb-39be-724c-9d63-07191fe9e2e6\",\n                        \"title\": \"Banners & content · View (faqs.index)\",\n                        \"back_route_name\": \"faqs.index\",\n                        \"front_route_name\": \"faqs/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39c1-719d-b4f2-33fc5e995dfb\",\n                        \"title\": \"Banners & content · View (faqs.show)\",\n                        \"back_route_name\": \"faqs.show\",\n                        \"front_route_name\": \"faqs/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a26-717f-baf2-efa5eea32881\",\n                        \"title\": \"Banners & content · View (onboarding-slides.index)\",\n                        \"back_route_name\": \"onboarding-slides.index\",\n                        \"front_route_name\": \"onboarding-slides/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a28-71b6-a57f-7fbe456de536\",\n                        \"title\": \"Banners & content · View (onboarding-slides.show)\",\n                        \"back_route_name\": \"onboarding-slides.show\",\n                        \"front_route_name\": \"onboarding-slides/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a49-7351-aa3a-d90e80d178b7\",\n                        \"title\": \"Banners & content · View (pages.index)\",\n                        \"back_route_name\": \"pages.index\",\n                        \"front_route_name\": \"pages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a4c-72c0-a576-1dd88617d2c0\",\n                        \"title\": \"Banners & content · View (pages.show)\",\n                        \"back_route_name\": \"pages.show\",\n                        \"front_route_name\": \"pages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ae6-7017-a905-6709cd02ee84\",\n                        \"title\": \"Banners & content · View (sliders.index)\",\n                        \"back_route_name\": \"sliders.index\",\n                        \"front_route_name\": \"sliders/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ae9-7278-a8d3-b3cad930f361\",\n                        \"title\": \"Banners & content · View (sliders.show)\",\n                        \"back_route_name\": \"sliders.show\",\n                        \"front_route_name\": \"sliders/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39c3-7118-8f00-b5f217450b5a\",\n                        \"title\": \"Banners & content · Add (faqs.store)\",\n                        \"back_route_name\": \"faqs.store\",\n                        \"front_route_name\": \"faqs/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a2b-72fd-b572-d13577ab61b8\",\n                        \"title\": \"Banners & content · Add (onboarding-slides.store)\",\n                        \"back_route_name\": \"onboarding-slides.store\",\n                        \"front_route_name\": \"onboarding-slides/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a4e-7020-aff3-568d455ecef8\",\n                        \"title\": \"Banners & content · Add (pages.store)\",\n                        \"back_route_name\": \"pages.store\",\n                        \"front_route_name\": \"pages/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aed-71ba-8d45-dbd9da28ca7b\",\n                        \"title\": \"Banners & content · Add (sliders.store)\",\n                        \"back_route_name\": \"sliders.store\",\n                        \"front_route_name\": \"sliders/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39c6-712b-8985-d96904317f3f\",\n                        \"title\": \"Banners & content · Edit (faqs.update)\",\n                        \"back_route_name\": \"faqs.update\",\n                        \"front_route_name\": \"faqs/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a2d-72e6-b748-ba5698fa7d1c\",\n                        \"title\": \"Banners & content · Edit (onboarding-slides.update)\",\n                        \"back_route_name\": \"onboarding-slides.update\",\n                        \"front_route_name\": \"onboarding-slides/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a50-703d-b2a2-1e1029adfd8e\",\n                        \"title\": \"Banners & content · Edit (pages.update)\",\n                        \"back_route_name\": \"pages.update\",\n                        \"front_route_name\": \"pages/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aef-729c-bbf3-12dbdd48ea30\",\n                        \"title\": \"Banners & content · Edit (sliders.update)\",\n                        \"back_route_name\": \"sliders.update\",\n                        \"front_route_name\": \"sliders/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39bc-7028-8056-259fddcb978d\",\n                        \"title\": \"Banners & content · Delete (faqs.destroy)\",\n                        \"back_route_name\": \"faqs.destroy\",\n                        \"front_route_name\": \"faqs/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a23-7312-acaf-7458d27e2ede\",\n                        \"title\": \"Banners & content · Delete (onboarding-slides.destroy)\",\n                        \"back_route_name\": \"onboarding-slides.destroy\",\n                        \"front_route_name\": \"onboarding-slides/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a47-717f-be0f-0322326013e3\",\n                        \"title\": \"Banners & content · Delete (pages.destroy)\",\n                        \"back_route_name\": \"pages.destroy\",\n                        \"front_route_name\": \"pages/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ae4-735a-a6a0-542a17f8bf8e\",\n                        \"title\": \"Banners & content · Delete (sliders.destroy)\",\n                        \"back_route_name\": \"sliders.destroy\",\n                        \"front_route_name\": \"sliders/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Notifications\": [\n                    {\n                        \"id\": \"01a1babb-3a0c-70db-b40f-0594843d5ee0\",\n                        \"title\": \"Notifications · View (notifications.deliveries.index)\",\n                        \"back_route_name\": \"notifications.deliveries.index\",\n                        \"front_route_name\": \"notifications/deliveries/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a0e-73af-9e90-57b02f7fb09a\",\n                        \"title\": \"Notifications · View (notifications.general.index)\",\n                        \"back_route_name\": \"notifications.general.index\",\n                        \"front_route_name\": \"notifications/general/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a14-7280-aa49-727e10d9a2e5\",\n                        \"title\": \"Notifications · View (notifications.general.show)\",\n                        \"back_route_name\": \"notifications.general.show\",\n                        \"front_route_name\": \"notifications/general/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a19-70ee-800b-269dea725a83\",\n                        \"title\": \"Notifications · View (notifications.index)\",\n                        \"back_route_name\": \"notifications.index\",\n                        \"front_route_name\": \"notifications/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a1b-72cd-a60f-841a069cdfb7\",\n                        \"title\": \"Notifications · View (notifications.templates.index)\",\n                        \"back_route_name\": \"notifications.templates.index\",\n                        \"front_route_name\": \"notifications/templates/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a1e-738c-84a6-17a5e4631b8b\",\n                        \"title\": \"Notifications · View (notifications.templates.show)\",\n                        \"back_route_name\": \"notifications.templates.show\",\n                        \"front_route_name\": \"notifications/templates/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a10-7256-ae35-09dbceff9f6b\",\n                        \"title\": \"Notifications · Add (notifications.general.retry)\",\n                        \"back_route_name\": \"notifications.general.retry\",\n                        \"front_route_name\": \"notifications/general/retry\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a17-7162-93fb-2c10fc4fee35\",\n                        \"title\": \"Notifications · Add (notifications.general.store)\",\n                        \"back_route_name\": \"notifications.general.store\",\n                        \"front_route_name\": \"notifications/general/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a20-7312-a044-fa5d75251ef7\",\n                        \"title\": \"Notifications · Edit (notifications.templates.update)\",\n                        \"back_route_name\": \"notifications.templates.update\",\n                        \"front_route_name\": \"notifications/templates/edit\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Support & contact requests\": [\n                    {\n                        \"id\": \"01a1babb-3973-70e4-9bd3-074fc2391c8b\",\n                        \"title\": \"Support & contact requests · View (contact-messages.index)\",\n                        \"back_route_name\": \"contact-messages.index\",\n                        \"front_route_name\": \"contact-messages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3978-7108-aa6c-4efa8240cf2a\",\n                        \"title\": \"Support & contact requests · View (contact-messages.show)\",\n                        \"back_route_name\": \"contact-messages.show\",\n                        \"front_route_name\": \"contact-messages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b05-7099-891b-bfe1cdbf11a3\",\n                        \"title\": \"Support & contact requests · View (support-tickets.index)\",\n                        \"back_route_name\": \"support-tickets.index\",\n                        \"front_route_name\": \"support-tickets/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b0a-710c-895b-0fb50d186ba1\",\n                        \"title\": \"Support & contact requests · View (support-tickets.show)\",\n                        \"back_route_name\": \"support-tickets.show\",\n                        \"front_route_name\": \"support-tickets/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3975-7368-81a7-925bb0d3e7eb\",\n                        \"title\": \"Support & contact requests · Edit (contact-messages.reply)\",\n                        \"back_route_name\": \"contact-messages.reply\",\n                        \"front_route_name\": \"contact-messages/reply\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b01-703d-b4e8-8ab9f7d4e425\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.assign)\",\n                        \"back_route_name\": \"support-tickets.assign\",\n                        \"front_route_name\": \"support-tickets/assign\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b03-702f-85e5-52c157b7f734\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.close)\",\n                        \"back_route_name\": \"support-tickets.close\",\n                        \"front_route_name\": \"support-tickets/close\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b08-7132-9b96-039598cba5d2\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.reply)\",\n                        \"back_route_name\": \"support-tickets.reply\",\n                        \"front_route_name\": \"support-tickets/reply\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3b0d-7063-a5eb-b26a517a2756\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.status)\",\n                        \"back_route_name\": \"support-tickets.status\",\n                        \"front_route_name\": \"support-tickets/status\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3970-70d8-b68f-cb81e0135c25\",\n                        \"title\": \"Support & contact requests · Delete (contact-messages.destroy)\",\n                        \"back_route_name\": \"contact-messages.destroy\",\n                        \"front_route_name\": \"contact-messages/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Reports & statistics\": [\n                    {\n                        \"id\": \"01a1babb-3aab-7006-994f-d30bee774b1a\",\n                        \"title\": \"Reports & statistics · View (reports.rankings)\",\n                        \"back_route_name\": \"reports.rankings\",\n                        \"front_route_name\": \"reports/rankings\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aae-7063-8ce0-77bb4c877c9c\",\n                        \"title\": \"Reports & statistics · View (reports.summary)\",\n                        \"back_route_name\": \"reports.summary\",\n                        \"front_route_name\": \"reports/summary\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Platform settings\": [\n                    {\n                        \"id\": \"01a1babb-39cf-7256-8a7a-3b4b60bd43af\",\n                        \"title\": \"Platform settings · View (feature-flags.index)\",\n                        \"back_route_name\": \"feature-flags.index\",\n                        \"front_route_name\": \"feature-flags/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3adf-71b9-af7e-953ab48e805b\",\n                        \"title\": \"Platform settings · View (settings.index)\",\n                        \"back_route_name\": \"settings.index\",\n                        \"front_route_name\": \"settings/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39c9-7356-87d5-c92e1a92d1e0\",\n                        \"title\": \"Platform settings · Add (feature-flags.create)\",\n                        \"back_route_name\": \"feature-flags.create\",\n                        \"front_route_name\": \"feature-flags/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39d2-716f-bc43-90c090b97494\",\n                        \"title\": \"Platform settings · Edit (feature-flags.toggle)\",\n                        \"back_route_name\": \"feature-flags.toggle\",\n                        \"front_route_name\": \"feature-flags/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39d4-70ea-8aa7-656786e7be72\",\n                        \"title\": \"Platform settings · Edit (feature-flags.update)\",\n                        \"back_route_name\": \"feature-flags.update\",\n                        \"front_route_name\": \"feature-flags/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ae1-71d1-816a-f79a23ece1f0\",\n                        \"title\": \"Platform settings · Edit (settings.update)\",\n                        \"back_route_name\": \"settings.update\",\n                        \"front_route_name\": \"settings/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-39cc-708b-9bfd-4dfc04008c04\",\n                        \"title\": \"Platform settings · Delete (feature-flags.delete)\",\n                        \"back_route_name\": \"feature-flags.delete\",\n                        \"front_route_name\": \"feature-flags/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a1babb-392c-7201-b2e0-e111f2bf46d7\",\n                        \"title\": \"Administrators & permissions · View (audit-logs.index)\",\n                        \"back_route_name\": \"audit-logs.index\",\n                        \"front_route_name\": \"audit-logs/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3a6c-72bb-90f6-116ccb8802a2\",\n                        \"title\": \"Administrators & permissions · View (permissions.index)\",\n                        \"back_route_name\": \"permissions.index\",\n                        \"front_route_name\": \"permissions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ac2-71a6-ad9d-411f92a2982c\",\n                        \"title\": \"Administrators & permissions · View (roles.index)\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ac5-7333-bedc-f20edb591dd9\",\n                        \"title\": \"Administrators & permissions · View (roles.show)\",\n                        \"back_route_name\": \"roles.show\",\n                        \"front_route_name\": \"roles/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3af4-7158-95bf-1c36f71d761f\",\n                        \"title\": \"Administrators & permissions · View (supervisors.index)\",\n                        \"back_route_name\": \"supervisors.index\",\n                        \"front_route_name\": \"supervisors/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3af6-7107-9144-f74f894058cf\",\n                        \"title\": \"Administrators & permissions · View (supervisors.show)\",\n                        \"back_route_name\": \"supervisors.show\",\n                        \"front_route_name\": \"supervisors/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ac8-72f1-be82-3d187d4e861d\",\n                        \"title\": \"Administrators & permissions · Add (roles.store)\",\n                        \"back_route_name\": \"roles.store\",\n                        \"front_route_name\": \"roles/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3af9-708f-a6ed-e167f8c9d569\",\n                        \"title\": \"Administrators & permissions · Add (supervisors.store)\",\n                        \"back_route_name\": \"supervisors.store\",\n                        \"front_route_name\": \"supervisors/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3acc-720c-96bc-1f23eb87feb7\",\n                        \"title\": \"Administrators & permissions · Edit (roles.toggle-active)\",\n                        \"back_route_name\": \"roles.toggle-active\",\n                        \"front_route_name\": \"roles/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3ace-716c-8e8f-6a72a44470c6\",\n                        \"title\": \"Administrators & permissions · Edit (roles.update)\",\n                        \"back_route_name\": \"roles.update\",\n                        \"front_route_name\": \"roles/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3afd-71cb-90b1-16aae4d61ae8\",\n                        \"title\": \"Administrators & permissions · Edit (supervisors.toggle-active)\",\n                        \"back_route_name\": \"supervisors.toggle-active\",\n                        \"front_route_name\": \"supervisors/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3aff-7392-b5b6-0a3018472eda\",\n                        \"title\": \"Administrators & permissions · Edit (supervisors.update)\",\n                        \"back_route_name\": \"supervisors.update\",\n                        \"front_route_name\": \"supervisors/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3abf-711f-9f73-c5f4bf2675dd\",\n                        \"title\": \"Administrators & permissions · Delete (roles.destroy)\",\n                        \"back_route_name\": \"roles.destroy\",\n                        \"front_route_name\": \"roles/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3af1-7165-aa88-da62fb44055d\",\n                        \"title\": \"Administrators & permissions · Delete (supervisors.destroy)\",\n                        \"back_route_name\": \"supervisors.destroy\",\n                        \"front_route_name\": \"supervisors/delete\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"super_admin\",\n                \"label\": \"Super admin\"\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid Credentials",
                                            "_joshen": {
                                                "route": "admin.auth.login",
                                                "name": "Invalid Credentials",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/login",
                                                    "query": null,
                                                    "body": {
                                                        "login": "collins.wilton@example.com",
                                                        "password": "wrong"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_non_admin_unknown_and_wrong_password_share_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"login\": \"collins.wilton@example.com\",\n    \"password\": \"wrong\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Invalid email or password.\",\n    \"data\": {\n        \"error_code\": \"INVALID_CREDENTIALS\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Login Missing Fields",
                                            "_joshen": {
                                                "route": "admin.auth.login",
                                                "name": "Login Missing Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/login",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_login_and_logout_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Email field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"login\": [\n                \"The Email field is required.\"\n            ],\n            \"password\": [\n                \"The Password field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Login Wrong Password",
                                            "_joshen": {
                                                "route": "admin.auth.login",
                                                "name": "Login Wrong Password",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/login",
                                                    "query": null,
                                                    "body": {
                                                        "login": "haylee.herzog@example.net",
                                                        "password": "wrong-pass"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_login_and_logout_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"login\": \"haylee.herzog@example.net\",\n    \"password\": \"wrong-pass\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Invalid email or password.\",\n    \"data\": {\n        \"error_code\": \"INVALID_CREDENTIALS\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many login attempts",
                                            "_joshen": {
                                                "route": "admin.auth.login",
                                                "name": "Too many login attempts",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/login",
                                                    "query": null,
                                                    "body": {
                                                        "login": "UNKNOWN@example.test",
                                                        "password": "wrong"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_rate_limit_returns_429"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"login\": \"UNKNOWN@example.test\",\n    \"password\": \"wrong\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "admin_token",
                                                "path": "data.access_token"
                                            },
                                            {
                                                "name": "token",
                                                "path": "data.access_token"
                                            }
                                        ],
                                        "uses": []
                                    }
                                },
                                {
                                    "name": "Refresh",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"admin_token\",\"data.access_token\"],[\"token\",\"data.access_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/auth/refresh",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "auth",
                                                "refresh"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.auth.refresh`\n**Middleware:** `api, set_locale, cors, jwt.refreshable:admin, app:admin, active`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `admin_token` ← `data.access_token` of a 2xx response\n- Saves `token` ← `data.access_token` of a 2xx response\n\n**Responses:**\n- `200` Refresh\n- `200` Refresh After Expiry\n- `401` Refresh window (7 days) passed — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 43200,\n        \"user\": {\n            \"id\": \"01a19762-f58f-73b3-a6e0-2adc2e84c59c\",\n            \"full_name\": \"Heidi Ondricka\",\n            \"phone_code\": \"966\",\n            \"phone\": \"543249357\",\n            \"email\": \"auth-admin@example.test\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": {\n                \"id\": \"01a19762-f57d-7241-8515-ecce45d1502a\",\n                \"name\": \"Sample-tpie77611120\"\n            },\n            \"permissions\": {\n                \"Customers\": [\n                    {\n                        \"id\": \"01a19762-f589-700d-ae74-6cf545f3a9db\",\n                        \"title\": \"Sample-pmri04676087\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a19762-f586-707d-a4ef-8c34c6d2ed75\",\n                        \"title\": \"Sample-suan14793041\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"supervisor\",\n                \"label\": \"Supervisor\"\n            }\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Refresh",
                                            "_joshen": {
                                                "route": "admin.auth.refresh",
                                                "name": "Refresh",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 43200,\n        \"user\": {\n            \"id\": \"01a19762-f58f-73b3-a6e0-2adc2e84c59c\",\n            \"full_name\": \"Heidi Ondricka\",\n            \"phone_code\": \"966\",\n            \"phone\": \"543249357\",\n            \"email\": \"auth-admin@example.test\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": {\n                \"id\": \"01a19762-f57d-7241-8515-ecce45d1502a\",\n                \"name\": \"Sample-tpie77611120\"\n            },\n            \"permissions\": {\n                \"Customers\": [\n                    {\n                        \"id\": \"01a19762-f589-700d-ae74-6cf545f3a9db\",\n                        \"title\": \"Sample-pmri04676087\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a19762-f586-707d-a4ef-8c34c6d2ed75\",\n                        \"title\": \"Sample-suan14793041\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"supervisor\",\n                \"label\": \"Supervisor\"\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Refresh After Expiry",
                                            "_joshen": {
                                                "route": "admin.auth.refresh",
                                                "name": "Refresh After Expiry",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_td_29_admin_access_ttl_and_refresh_window"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 43200,\n        \"user\": {\n            \"id\": \"01a19762-f619-70f7-a398-3a51103f00d0\",\n            \"full_name\": \"Ezequiel Zboncak\",\n            \"phone_code\": \"966\",\n            \"phone\": \"585458985\",\n            \"email\": \"kasey.tillman@example.com\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": null,\n            \"permissions\": [],\n            \"user_type\": {\n                \"value\": \"super_admin\",\n                \"label\": \"Super admin\"\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Refresh window (7 days) passed",
                                            "_joshen": {
                                                "route": "admin.auth.refresh",
                                                "name": "Refresh window (7 days) passed",
                                                "code": 401,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_td_29_admin_access_ttl_and_refresh_window"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "admin_token",
                                                "path": "data.access_token"
                                            },
                                            {
                                                "name": "token",
                                                "path": "data.access_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Logout",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/auth/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "auth",
                                                "logout"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.auth.logout`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `device_token`\n- **Description:** FCM push token of this device, so the backend stops sending pushes to it after logout; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `nullable|string|max:4096`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Logout\n- `200` Logout Succeeded\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Logout Device Token Too Long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Logout",
                                            "_joshen": {
                                                "route": "admin.auth.logout",
                                                "name": "Logout",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/logout",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Logout Succeeded",
                                            "_joshen": {
                                                "route": "admin.auth.logout",
                                                "name": "Logout Succeeded",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/logout",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_login_and_logout_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Logout Device Token Too Long",
                                            "_joshen": {
                                                "route": "admin.auth.logout",
                                                "name": "Logout Device Token Too Long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/logout",
                                                    "query": null,
                                                    "body": {
                                                        "device_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_login_and_logout_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The device token field must not be greater than 4096 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"device_token\": [\n                \"The device token field must not be greater than 4096 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Device",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/auth/device",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "auth",
                                                "device"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.auth.device`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `device_token`\n- **Description:** Firebase Cloud Messaging web token from `getToken(messaging, { vapidKey })` in this browser. Admin alerts are pushed to every token an admin registered (TD-173).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|string|max:4096`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n### `device_type`\n- **Description:** Always `web` for the dashboard.\n- **Type:** `string (enum)`\n- **Allowed values:** `web`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|in:web`\n- `required` — must be provided.\n- `in:web` — must be one of: web.\n### `app_version`\n- **Description:** Dashboard build version, for support only (optional).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `nullable|string|max:20`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Browser registered for web push\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Missing token and a mobile device type\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Device registered.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Browser registered for web push",
                                            "_joshen": {
                                                "route": "admin.auth.device",
                                                "name": "Browser registered for web push",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/device",
                                                    "query": null,
                                                    "body": {
                                                        "device_token": "fcm-web-token-1",
                                                        "device_type": "web",
                                                        "app_version": "1.4.0"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAlertsTest::test_td_173_any_admin_registers_her_browser_for_web_push_without_a_section_permission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-web-token-1\",\n    \"device_type\": \"web\",\n    \"app_version\": \"1.4.0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Device registered.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing token and a mobile device type",
                                            "_joshen": {
                                                "route": "admin.auth.device",
                                                "name": "Missing token and a mobile device type",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/device",
                                                    "query": null,
                                                    "body": {
                                                        "device_type": "ios"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAlertsTest::test_td_173_a_mobile_device_type_or_missing_token_is_refused_with_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_type\": \"ios\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Device token field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"device_token\": [\n                \"The Device token field is required.\"\n            ],\n            \"device_type\": [\n                \"The selected Device type is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Me",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/auth/me",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "auth",
                                                "me"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.auth.me`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Me\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a19762-f58f-73b3-a6e0-2adc2e84c59c\",\n            \"full_name\": \"Heidi Ondricka\",\n            \"phone_code\": \"966\",\n            \"phone\": \"543249357\",\n            \"email\": \"auth-admin@example.test\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": {\n                \"id\": \"01a19762-f57d-7241-8515-ecce45d1502a\",\n                \"name\": \"Sample-tpie77611120\"\n            },\n            \"permissions\": {\n                \"Customers\": [\n                    {\n                        \"id\": \"01a19762-f589-700d-ae74-6cf545f3a9db\",\n                        \"title\": \"Sample-pmri04676087\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a19762-f586-707d-a4ef-8c34c6d2ed75\",\n                        \"title\": \"Sample-suan14793041\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"supervisor\",\n                \"label\": \"Supervisor\"\n            }\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Me",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Me",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a19762-f58f-73b3-a6e0-2adc2e84c59c\",\n            \"full_name\": \"Heidi Ondricka\",\n            \"phone_code\": \"966\",\n            \"phone\": \"543249357\",\n            \"email\": \"auth-admin@example.test\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": {\n                \"id\": \"01a19762-f57d-7241-8515-ecce45d1502a\",\n                \"name\": \"Sample-tpie77611120\"\n            },\n            \"permissions\": {\n                \"Customers\": [\n                    {\n                        \"id\": \"01a19762-f589-700d-ae74-6cf545f3a9db\",\n                        \"title\": \"Sample-pmri04676087\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a19762-f586-707d-a4ef-8c34c6d2ed75\",\n                        \"title\": \"Sample-suan14793041\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"supervisor\",\n                \"label\": \"Supervisor\"\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "My Permissions",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/auth/my-permissions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "auth",
                                                "my-permissions"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.auth.my-permissions`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` My Permissions Super Admin\n- `200` My Permissions Supervisor\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Permissions retrieved successfully.\",\n    \"data\": {\n        \"is_super_admin\": true,\n        \"role\": null,\n        \"permissions\": {\n            \"Dashboard\": [\n                {\n                    \"id\": \"01a19762-f9ee-7250-aa99-2c2a4c2add17\",\n                    \"title\": \"Dashboard · View (dashboard.index)\",\n                    \"back_route_name\": \"dashboard.index\",\n                    \"front_route_name\": \"home/show-all\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Customers\": [\n                {\n                    \"id\": \"01a19762-fae3-70e9-9c51-ae5fe0987528\",\n                    \"title\": \"Customers · View (users.index)\",\n                    \"back_route_name\": \"users.index\",\n                    \"front_route_name\": \"users/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fae8-70fe-90f2-48e934eec151\",\n                    \"title\": \"Customers · View (users.view)\",\n                    \"back_route_name\": \"users.view\",\n                    \"front_route_name\": \"users/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faea-722e-ac72-e77a1338dd1d\",\n                    \"title\": \"Customers · View (users.wallet-transactions)\",\n                    \"back_route_name\": \"users.wallet-transactions\",\n                    \"front_route_name\": \"users/wallet-transactions\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fae6-7151-9a18-3b884ca43ad6\",\n                    \"title\": \"Customers · Edit (users.toggle)\",\n                    \"back_route_name\": \"users.toggle\",\n                    \"front_route_name\": \"users/toggle-active\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Service providers\": [\n                {\n                    \"id\": \"01a19762-fa81-73ae-8578-958432ff75f3\",\n                    \"title\": \"Service providers · View (providers.index)\",\n                    \"back_route_name\": \"providers.index\",\n                    \"front_route_name\": \"providers/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa8c-71c8-aa86-843cce24c90c\",\n                    \"title\": \"Service providers · View (providers.show)\",\n                    \"back_route_name\": \"providers.show\",\n                    \"front_route_name\": \"providers/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa90-71c9-9383-16944800cc83\",\n                    \"title\": \"Service providers · Edit (providers.work-area)\",\n                    \"back_route_name\": \"providers.work-area\",\n                    \"front_route_name\": \"providers/work-area\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa7d-72b6-a059-14820ae8cd6f\",\n                    \"title\": \"Service providers · Approve (providers.approve)\",\n                    \"back_route_name\": \"providers.approve\",\n                    \"front_route_name\": \"providers/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa7f-70c6-ac34-7e843392ad21\",\n                    \"title\": \"Service providers · Approve (providers.identity)\",\n                    \"back_route_name\": \"providers.identity\",\n                    \"front_route_name\": \"providers/identity\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa84-702f-b16a-43c265991113\",\n                    \"title\": \"Service providers · Approve (providers.reactivate)\",\n                    \"back_route_name\": \"providers.reactivate\",\n                    \"front_route_name\": \"providers/reactivate\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa86-7195-8c95-c69d0f7a376d\",\n                    \"title\": \"Service providers · Approve (providers.reject)\",\n                    \"back_route_name\": \"providers.reject\",\n                    \"front_route_name\": \"providers/reject\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa89-703b-b7f1-07db8e99ca05\",\n                    \"title\": \"Service providers · Approve (providers.request-changes)\",\n                    \"back_route_name\": \"providers.request-changes\",\n                    \"front_route_name\": \"providers/request-changes\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa8e-7110-af25-f8f85d5c65b4\",\n                    \"title\": \"Service providers · Approve (providers.suspend)\",\n                    \"back_route_name\": \"providers.suspend\",\n                    \"front_route_name\": \"providers/suspend\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Drivers\": [\n                {\n                    \"id\": \"01a19762-f9ff-716f-982a-07323fcd3edd\",\n                    \"title\": \"Drivers · View (drivers.index)\",\n                    \"back_route_name\": \"drivers.index\",\n                    \"front_route_name\": \"drivers/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa07-716d-8416-86c86bdd20e4\",\n                    \"title\": \"Drivers · View (drivers.show)\",\n                    \"back_route_name\": \"drivers.show\",\n                    \"front_route_name\": \"drivers/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa0c-7088-8f67-88260dc8b578\",\n                    \"title\": \"Drivers · Edit (drivers.work-area)\",\n                    \"back_route_name\": \"drivers.work-area\",\n                    \"front_route_name\": \"drivers/work-area\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9fa-729a-83d0-ef884fa159f4\",\n                    \"title\": \"Drivers · Approve (drivers.approve)\",\n                    \"back_route_name\": \"drivers.approve\",\n                    \"front_route_name\": \"drivers/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9fd-7187-8ce0-729e4ce66bae\",\n                    \"title\": \"Drivers · Approve (drivers.identity)\",\n                    \"back_route_name\": \"drivers.identity\",\n                    \"front_route_name\": \"drivers/identity\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa01-7087-960d-282d96b22c5d\",\n                    \"title\": \"Drivers · Approve (drivers.reactivate)\",\n                    \"back_route_name\": \"drivers.reactivate\",\n                    \"front_route_name\": \"drivers/reactivate\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa03-7126-96e7-1034453ec58c\",\n                    \"title\": \"Drivers · Approve (drivers.reject)\",\n                    \"back_route_name\": \"drivers.reject\",\n                    \"front_route_name\": \"drivers/reject\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa05-73cd-9ce0-2bbbb51ae9a3\",\n                    \"title\": \"Drivers · Approve (drivers.request-changes)\",\n                    \"back_route_name\": \"drivers.request-changes\",\n                    \"front_route_name\": \"drivers/request-changes\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa09-7359-8a26-4e5bfdd92e3d\",\n                    \"title\": \"Drivers · Approve (drivers.suspend)\",\n                    \"back_route_name\": \"drivers.suspend\",\n                    \"front_route_name\": \"drivers/suspend\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Registration review\": [\n                {\n                    \"id\": \"01a19762-f9c8-7122-8c01-80d0ae94f4f8\",\n                    \"title\": \"Registration review · View (category-requests.index)\",\n                    \"back_route_name\": \"category-requests.index\",\n                    \"front_route_name\": \"category-requests/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa9f-70ad-899d-3e428d2f0e44\",\n                    \"title\": \"Registration review · View (registration-requests.index)\",\n                    \"back_route_name\": \"registration-requests.index\",\n                    \"front_route_name\": \"registration-requests/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faa6-709e-936c-eb98792be0ed\",\n                    \"title\": \"Registration review · View (registration-requests.show)\",\n                    \"back_route_name\": \"registration-requests.show\",\n                    \"front_route_name\": \"registration-requests/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9c6-72c3-a2a3-d370af535ec4\",\n                    \"title\": \"Registration review · Approve (category-requests.approve)\",\n                    \"back_route_name\": \"category-requests.approve\",\n                    \"front_route_name\": \"category-requests/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9ca-73b3-b690-6a802965d8c7\",\n                    \"title\": \"Registration review · Approve (category-requests.reject)\",\n                    \"back_route_name\": \"category-requests.reject\",\n                    \"front_route_name\": \"category-requests/reject\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa9d-7284-a00c-330c49c4c2ee\",\n                    \"title\": \"Registration review · Approve (registration-requests.approve)\",\n                    \"back_route_name\": \"registration-requests.approve\",\n                    \"front_route_name\": \"registration-requests/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faa1-7033-91cc-5a29a853e9e9\",\n                    \"title\": \"Registration review · Approve (registration-requests.reject)\",\n                    \"back_route_name\": \"registration-requests.reject\",\n                    \"front_route_name\": \"registration-requests/reject\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faa3-701b-9342-bfc27ef0dbe9\",\n                    \"title\": \"Registration review · Approve (registration-requests.request-changes)\",\n                    \"back_route_name\": \"registration-requests.request-changes\",\n                    \"front_route_name\": \"registration-requests/request-changes\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Service areas\": [\n                {\n                    \"id\": \"01a19762-f9d8-72e8-826d-b49dcd453e4f\",\n                    \"title\": \"Service areas · View (countries.index)\",\n                    \"back_route_name\": \"countries.index\",\n                    \"front_route_name\": \"countries/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9db-720b-9f88-d47bc55e7137\",\n                    \"title\": \"Service areas · View (countries.show)\",\n                    \"back_route_name\": \"countries.show\",\n                    \"front_route_name\": \"countries/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f2-70ab-8a3c-5f44227d0bae\",\n                    \"title\": \"Service areas · View (delivery-fee-rules.index)\",\n                    \"back_route_name\": \"delivery-fee-rules.index\",\n                    \"front_route_name\": \"delivery-fee-rules/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f3-7317-be1b-a88153761358\",\n                    \"title\": \"Service areas · View (delivery-fee-rules.show)\",\n                    \"back_route_name\": \"delivery-fee-rules.show\",\n                    \"front_route_name\": \"delivery-fee-rules/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa3a-736a-b47a-8abcc95d88ad\",\n                    \"title\": \"Service areas · View (governorates.index)\",\n                    \"back_route_name\": \"governorates.index\",\n                    \"front_route_name\": \"governorates/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa3d-72b4-a8be-b67433bcc93f\",\n                    \"title\": \"Service areas · View (governorates.show)\",\n                    \"back_route_name\": \"governorates.show\",\n                    \"front_route_name\": \"governorates/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa95-7330-9d0a-c5e2e0d43e63\",\n                    \"title\": \"Service areas · View (regions.index)\",\n                    \"back_route_name\": \"regions.index\",\n                    \"front_route_name\": \"regions/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa97-7368-b98a-21475eab478c\",\n                    \"title\": \"Service areas · View (regions.show)\",\n                    \"back_route_name\": \"regions.show\",\n                    \"front_route_name\": \"regions/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9dd-7138-ba19-583d167be5f7\",\n                    \"title\": \"Service areas · Add (countries.store)\",\n                    \"back_route_name\": \"countries.store\",\n                    \"front_route_name\": \"countries/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f6-702a-bfc6-93f955c8f952\",\n                    \"title\": \"Service areas · Add (delivery-fee-rules.store)\",\n                    \"back_route_name\": \"delivery-fee-rules.store\",\n                    \"front_route_name\": \"delivery-fee-rules/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa40-72f6-8ed6-69c5ff0da839\",\n                    \"title\": \"Service areas · Add (governorates.store)\",\n                    \"back_route_name\": \"governorates.store\",\n                    \"front_route_name\": \"governorates/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa99-7041-bbdc-ddebe2db490e\",\n                    \"title\": \"Service areas · Add (regions.store)\",\n                    \"back_route_name\": \"regions.store\",\n                    \"front_route_name\": \"regions/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9df-7099-923e-ec7c083fff1c\",\n                    \"title\": \"Service areas · Edit (countries.update)\",\n                    \"back_route_name\": \"countries.update\",\n                    \"front_route_name\": \"countries/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f8-731c-9ba0-4258bd5851af\",\n                    \"title\": \"Service areas · Edit (delivery-fee-rules.update)\",\n                    \"back_route_name\": \"delivery-fee-rules.update\",\n                    \"front_route_name\": \"delivery-fee-rules/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa44-71d2-b133-edf42ea7b696\",\n                    \"title\": \"Service areas · Edit (governorates.update)\",\n                    \"back_route_name\": \"governorates.update\",\n                    \"front_route_name\": \"governorates/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa9b-70b7-bb97-212774dbb5a6\",\n                    \"title\": \"Service areas · Edit (regions.update)\",\n                    \"back_route_name\": \"regions.update\",\n                    \"front_route_name\": \"regions/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9d6-711f-865c-f6cc2696b4cd\",\n                    \"title\": \"Service areas · Delete (countries.destroy)\",\n                    \"back_route_name\": \"countries.destroy\",\n                    \"front_route_name\": \"countries/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f0-7312-ad62-cd86d16f1011\",\n                    \"title\": \"Service areas · Delete (delivery-fee-rules.destroy)\",\n                    \"back_route_name\": \"delivery-fee-rules.destroy\",\n                    \"front_route_name\": \"delivery-fee-rules/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa37-7382-b89b-5c70581682f6\",\n                    \"title\": \"Service areas · Delete (governorates.destroy)\",\n                    \"back_route_name\": \"governorates.destroy\",\n                    \"front_route_name\": \"governorates/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa93-71d5-95f3-c3d931ebc799\",\n                    \"title\": \"Service areas · Delete (regions.destroy)\",\n                    \"back_route_name\": \"regions.destroy\",\n                    \"front_route_name\": \"regions/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Services, options & price ranges\": [\n                {\n                    \"id\": \"01a19762-f9b7-7249-8496-b515d806b5d1\",\n                    \"title\": \"Services, options & price ranges · View (categories.index)\",\n                    \"back_route_name\": \"categories.index\",\n                    \"front_route_name\": \"categories/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9ba-7223-8932-f365ad9606e8\",\n                    \"title\": \"Services, options & price ranges · View (categories.show)\",\n                    \"back_route_name\": \"categories.show\",\n                    \"front_route_name\": \"categories/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9c1-73b9-baff-9981121d3a04\",\n                    \"title\": \"Services, options & price ranges · View (categories.tree)\",\n                    \"back_route_name\": \"categories.tree\",\n                    \"front_route_name\": \"categories/tree\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa47-7279-933d-8ec56c1dc5fc\",\n                    \"title\": \"Services, options & price ranges · View (joshan.config.show)\",\n                    \"back_route_name\": \"joshan.config.show\",\n                    \"front_route_name\": \"joshan/config/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa4d-70f4-be3e-4f0cdbb2e453\",\n                    \"title\": \"Services, options & price ranges · View (joshan.occasions.index)\",\n                    \"back_route_name\": \"joshan.occasions.index\",\n                    \"front_route_name\": \"joshan/occasions/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa50-71c0-bd97-13baf019507a\",\n                    \"title\": \"Services, options & price ranges · View (joshan.occasions.show)\",\n                    \"back_route_name\": \"joshan.occasions.show\",\n                    \"front_route_name\": \"joshan/occasions/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa57-734f-8aeb-e12ccf32c6ed\",\n                    \"title\": \"Services, options & price ranges · View (joshan.searches.index)\",\n                    \"back_route_name\": \"joshan.searches.index\",\n                    \"front_route_name\": \"joshan/searches/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa59-71cb-8758-18de8a6b23d0\",\n                    \"title\": \"Services, options & price ranges · View (joshan.searches.summary)\",\n                    \"back_route_name\": \"joshan.searches.summary\",\n                    \"front_route_name\": \"joshan/searches/summary\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab7-728b-b301-3e938d713f94\",\n                    \"title\": \"Services, options & price ranges · View (services.index)\",\n                    \"back_route_name\": \"services.index\",\n                    \"front_route_name\": \"services/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab9-70fd-ab8a-8876e51044a8\",\n                    \"title\": \"Services, options & price ranges · View (services.show)\",\n                    \"back_route_name\": \"services.show\",\n                    \"front_route_name\": \"services/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9bc-7365-b6ae-3269e2b88f0b\",\n                    \"title\": \"Services, options & price ranges · Add (categories.store)\",\n                    \"back_route_name\": \"categories.store\",\n                    \"front_route_name\": \"categories/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa52-719d-b16e-15626e2fd04e\",\n                    \"title\": \"Services, options & price ranges · Add (joshan.occasions.store)\",\n                    \"back_route_name\": \"joshan.occasions.store\",\n                    \"front_route_name\": \"joshan/occasions/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fabb-71db-b686-0a23672d3117\",\n                    \"title\": \"Services, options & price ranges · Add (services.store)\",\n                    \"back_route_name\": \"services.store\",\n                    \"front_route_name\": \"services/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9bf-7295-913a-4eed215a029c\",\n                    \"title\": \"Services, options & price ranges · Edit (categories.toggle-active)\",\n                    \"back_route_name\": \"categories.toggle-active\",\n                    \"front_route_name\": \"categories/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9c4-705e-99a8-5c61a2ac59c9\",\n                    \"title\": \"Services, options & price ranges · Edit (categories.update)\",\n                    \"back_route_name\": \"categories.update\",\n                    \"front_route_name\": \"categories/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa49-730c-95d3-3f0d6dd988a3\",\n                    \"title\": \"Services, options & price ranges · Edit (joshan.config.update)\",\n                    \"back_route_name\": \"joshan.config.update\",\n                    \"front_route_name\": \"joshan/config/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa55-71fc-8742-975358eb7759\",\n                    \"title\": \"Services, options & price ranges · Edit (joshan.occasions.update)\",\n                    \"back_route_name\": \"joshan.occasions.update\",\n                    \"front_route_name\": \"joshan/occasions/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fabe-734b-bd5f-ac9f972fac02\",\n                    \"title\": \"Services, options & price ranges · Edit (services.toggle-active)\",\n                    \"back_route_name\": \"services.toggle-active\",\n                    \"front_route_name\": \"services/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac0-73e2-b0ea-ced1752a5615\",\n                    \"title\": \"Services, options & price ranges · Edit (services.update)\",\n                    \"back_route_name\": \"services.update\",\n                    \"front_route_name\": \"services/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9b5-70e4-be90-f1ec4a8c7353\",\n                    \"title\": \"Services, options & price ranges · Delete (categories.destroy)\",\n                    \"back_route_name\": \"categories.destroy\",\n                    \"front_route_name\": \"categories/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa4b-7027-bc40-c5904b685c73\",\n                    \"title\": \"Services, options & price ranges · Delete (joshan.occasions.destroy)\",\n                    \"back_route_name\": \"joshan.occasions.destroy\",\n                    \"front_route_name\": \"joshan/occasions/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab5-7236-9698-1cd33ebed17e\",\n                    \"title\": \"Services, options & price ranges · Delete (services.destroy)\",\n                    \"back_route_name\": \"services.destroy\",\n                    \"front_route_name\": \"services/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Packages\": [\n                {\n                    \"id\": \"01a19762-fa64-7379-af8a-3f4ae8ae7b2c\",\n                    \"title\": \"Packages · View (packages.index)\",\n                    \"back_route_name\": \"packages.index\",\n                    \"front_route_name\": \"packages/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa68-72ef-be33-db0d7119d46e\",\n                    \"title\": \"Packages · View (packages.show)\",\n                    \"back_route_name\": \"packages.show\",\n                    \"front_route_name\": \"packages/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa62-71e2-b609-e44a0615f4ed\",\n                    \"title\": \"Packages · Edit (packages.hide)\",\n                    \"back_route_name\": \"packages.hide\",\n                    \"front_route_name\": \"packages/hide\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa6b-7043-b05d-70c1961429a5\",\n                    \"title\": \"Packages · Edit (packages.unhide)\",\n                    \"back_route_name\": \"packages.unhide\",\n                    \"front_route_name\": \"packages/unhide\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa60-71c8-9c46-c9bd8bd46dd0\",\n                    \"title\": \"Packages · Approve (packages.approve)\",\n                    \"back_route_name\": \"packages.approve\",\n                    \"front_route_name\": \"packages/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa66-7290-b1bf-cf708694ae73\",\n                    \"title\": \"Packages · Approve (packages.reject)\",\n                    \"back_route_name\": \"packages.reject\",\n                    \"front_route_name\": \"packages/reject\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Orders\": [\n                {\n                    \"id\": \"01a19762-fa5b-70ed-8f20-d68a684d4451\",\n                    \"title\": \"Orders · View (orders.index)\",\n                    \"back_route_name\": \"orders.index\",\n                    \"front_route_name\": \"orders/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa5d-73b6-bce0-4e45d6a12c23\",\n                    \"title\": \"Orders · View (orders.show)\",\n                    \"back_route_name\": \"orders.show\",\n                    \"front_route_name\": \"orders/show\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Transportation monitoring\": [\n                {\n                    \"id\": \"01a19762-fadf-70da-b162-0912f17b110c\",\n                    \"title\": \"Transportation monitoring · View (trips.index)\",\n                    \"back_route_name\": \"trips.index\",\n                    \"front_route_name\": \"trips/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fae1-7355-908f-2680a44886ee\",\n                    \"title\": \"Transportation monitoring · View (trips.show)\",\n                    \"back_route_name\": \"trips.show\",\n                    \"front_route_name\": \"trips/show\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Payments & coupons\": [\n                {\n                    \"id\": \"01a19762-f9e3-70e3-8de4-a199d8d533ad\",\n                    \"title\": \"Payments & coupons · View (coupons.index)\",\n                    \"back_route_name\": \"coupons.index\",\n                    \"front_route_name\": \"coupons/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9e5-7217-b70b-146f197f4603\",\n                    \"title\": \"Payments & coupons · View (coupons.redemptions)\",\n                    \"back_route_name\": \"coupons.redemptions\",\n                    \"front_route_name\": \"coupons/redemptions\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9e7-70e3-9ba9-d31224a9db2c\",\n                    \"title\": \"Payments & coupons · View (coupons.show)\",\n                    \"back_route_name\": \"coupons.show\",\n                    \"front_route_name\": \"coupons/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9e9-71f0-a150-3f64e6fa7648\",\n                    \"title\": \"Payments & coupons · Add (coupons.store)\",\n                    \"back_route_name\": \"coupons.store\",\n                    \"front_route_name\": \"coupons/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9eb-71bf-a208-78772ad12762\",\n                    \"title\": \"Payments & coupons · Edit (coupons.update)\",\n                    \"back_route_name\": \"coupons.update\",\n                    \"front_route_name\": \"coupons/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9e1-730c-bb51-882af813cc2c\",\n                    \"title\": \"Payments & coupons · Delete (coupons.destroy)\",\n                    \"back_route_name\": \"coupons.destroy\",\n                    \"front_route_name\": \"coupons/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Featured subscriptions\": [\n                {\n                    \"id\": \"01a19762-fa29-7133-bce1-257cb61a03a6\",\n                    \"title\": \"Featured subscriptions · View (featured-plans.index)\",\n                    \"back_route_name\": \"featured-plans.index\",\n                    \"front_route_name\": \"featured-plans/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa2c-716e-ab5d-6c5e9fa21765\",\n                    \"title\": \"Featured subscriptions · View (featured-plans.show)\",\n                    \"back_route_name\": \"featured-plans.show\",\n                    \"front_route_name\": \"featured-plans/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa32-7144-8196-d6d21542c9b6\",\n                    \"title\": \"Featured subscriptions · View (featured-subscriptions.index)\",\n                    \"back_route_name\": \"featured-subscriptions.index\",\n                    \"front_route_name\": \"featured-subscriptions/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa35-7241-9d3c-a4a5725e1a2d\",\n                    \"title\": \"Featured subscriptions · View (featured-subscriptions.show)\",\n                    \"back_route_name\": \"featured-subscriptions.show\",\n                    \"front_route_name\": \"featured-subscriptions/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa2e-72ff-860c-d0a672706f51\",\n                    \"title\": \"Featured subscriptions · Add (featured-plans.store)\",\n                    \"back_route_name\": \"featured-plans.store\",\n                    \"front_route_name\": \"featured-plans/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa30-706d-95de-1a46f4dde490\",\n                    \"title\": \"Featured subscriptions · Edit (featured-plans.update)\",\n                    \"back_route_name\": \"featured-plans.update\",\n                    \"front_route_name\": \"featured-plans/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa27-72e7-a442-f439170fde34\",\n                    \"title\": \"Featured subscriptions · Delete (featured-plans.destroy)\",\n                    \"back_route_name\": \"featured-plans.destroy\",\n                    \"front_route_name\": \"featured-plans/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Banners & content\": [\n                {\n                    \"id\": \"01a19762-fa10-714e-b9a2-440447a08556\",\n                    \"title\": \"Banners & content · View (faqs.index)\",\n                    \"back_route_name\": \"faqs.index\",\n                    \"front_route_name\": \"faqs/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa12-720c-86f5-7027407e62ce\",\n                    \"title\": \"Banners & content · View (faqs.show)\",\n                    \"back_route_name\": \"faqs.show\",\n                    \"front_route_name\": \"faqs/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa6f-7260-a145-8f3312b1a724\",\n                    \"title\": \"Banners & content · View (pages.index)\",\n                    \"back_route_name\": \"pages.index\",\n                    \"front_route_name\": \"pages/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa72-71df-9ca3-a99f8a68f6c9\",\n                    \"title\": \"Banners & content · View (pages.show)\",\n                    \"back_route_name\": \"pages.show\",\n                    \"front_route_name\": \"pages/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac9-7093-ba34-c84666d121b4\",\n                    \"title\": \"Banners & content · View (sliders.index)\",\n                    \"back_route_name\": \"sliders.index\",\n                    \"front_route_name\": \"sliders/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-facb-73f2-ab1f-31af970d8979\",\n                    \"title\": \"Banners & content · View (sliders.show)\",\n                    \"back_route_name\": \"sliders.show\",\n                    \"front_route_name\": \"sliders/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa14-7303-9e17-b34b409388ac\",\n                    \"title\": \"Banners & content · Add (faqs.store)\",\n                    \"back_route_name\": \"faqs.store\",\n                    \"front_route_name\": \"faqs/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa75-7281-badf-603c30f25f49\",\n                    \"title\": \"Banners & content · Add (pages.store)\",\n                    \"back_route_name\": \"pages.store\",\n                    \"front_route_name\": \"pages/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-facd-713f-b7d7-f5593372ca67\",\n                    \"title\": \"Banners & content · Add (sliders.store)\",\n                    \"back_route_name\": \"sliders.store\",\n                    \"front_route_name\": \"sliders/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa16-707d-9340-4d414949c021\",\n                    \"title\": \"Banners & content · Edit (faqs.update)\",\n                    \"back_route_name\": \"faqs.update\",\n                    \"front_route_name\": \"faqs/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa79-70e1-8c7b-6723dd7465d0\",\n                    \"title\": \"Banners & content · Edit (pages.update)\",\n                    \"back_route_name\": \"pages.update\",\n                    \"front_route_name\": \"pages/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad0-721a-85a6-547cb272e196\",\n                    \"title\": \"Banners & content · Edit (sliders.update)\",\n                    \"back_route_name\": \"sliders.update\",\n                    \"front_route_name\": \"sliders/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa0e-71d5-a163-2074ed675241\",\n                    \"title\": \"Banners & content · Delete (faqs.destroy)\",\n                    \"back_route_name\": \"faqs.destroy\",\n                    \"front_route_name\": \"faqs/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa6d-73d2-b77b-ea247bdf2a72\",\n                    \"title\": \"Banners & content · Delete (pages.destroy)\",\n                    \"back_route_name\": \"pages.destroy\",\n                    \"front_route_name\": \"pages/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac7-73d8-a4e5-509ecff30587\",\n                    \"title\": \"Banners & content · Delete (sliders.destroy)\",\n                    \"back_route_name\": \"sliders.destroy\",\n                    \"front_route_name\": \"sliders/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Support & contact requests\": [\n                {\n                    \"id\": \"01a19762-f9cf-7106-b8f8-0ce4a1c512f1\",\n                    \"title\": \"Support & contact requests · View (contact-messages.index)\",\n                    \"back_route_name\": \"contact-messages.index\",\n                    \"front_route_name\": \"contact-messages/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9d3-7061-825a-6dc9dce2f0a9\",\n                    \"title\": \"Support & contact requests · View (contact-messages.show)\",\n                    \"back_route_name\": \"contact-messages.show\",\n                    \"front_route_name\": \"contact-messages/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9d1-7223-ba7e-09c8fd8e3087\",\n                    \"title\": \"Support & contact requests · Edit (contact-messages.reply)\",\n                    \"back_route_name\": \"contact-messages.reply\",\n                    \"front_route_name\": \"contact-messages/reply\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9cc-7297-a27d-424f2b670098\",\n                    \"title\": \"Support & contact requests · Delete (contact-messages.destroy)\",\n                    \"back_route_name\": \"contact-messages.destroy\",\n                    \"front_route_name\": \"contact-messages/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Platform settings\": [\n                {\n                    \"id\": \"01a19762-fa1f-7176-8ed5-9663b56e3b23\",\n                    \"title\": \"Platform settings · View (feature-flags.index)\",\n                    \"back_route_name\": \"feature-flags.index\",\n                    \"front_route_name\": \"feature-flags/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac2-72f4-9501-1979c64c3b1f\",\n                    \"title\": \"Platform settings · View (settings.index)\",\n                    \"back_route_name\": \"settings.index\",\n                    \"front_route_name\": \"settings/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa19-71fa-9421-84bfb3262e3b\",\n                    \"title\": \"Platform settings · Add (feature-flags.create)\",\n                    \"back_route_name\": \"feature-flags.create\",\n                    \"front_route_name\": \"feature-flags/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa22-71fe-b3fa-0f4a857328a7\",\n                    \"title\": \"Platform settings · Edit (feature-flags.toggle)\",\n                    \"back_route_name\": \"feature-flags.toggle\",\n                    \"front_route_name\": \"feature-flags/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa25-70bc-bf5f-0ee69d054f6d\",\n                    \"title\": \"Platform settings · Edit (feature-flags.update)\",\n                    \"back_route_name\": \"feature-flags.update\",\n                    \"front_route_name\": \"feature-flags/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac4-72e8-aa4e-3bafb77b0f7a\",\n                    \"title\": \"Platform settings · Edit (settings.update)\",\n                    \"back_route_name\": \"settings.update\",\n                    \"front_route_name\": \"settings/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa1c-7251-922d-2770e9d8a482\",\n                    \"title\": \"Platform settings · Delete (feature-flags.delete)\",\n                    \"back_route_name\": \"feature-flags.delete\",\n                    \"front_route_name\": \"feature-flags/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Administrators & permissions\": [\n                {\n                    \"id\": \"01a19762-f9b2-72b6-b93c-1b939feb134e\",\n                    \"title\": \"Administrators & permissions · View (audit-logs.index)\",\n                    \"back_route_name\": \"audit-logs.index\",\n                    \"front_route_name\": \"audit-logs/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa7b-7284-b39e-ae0377336d85\",\n                    \"title\": \"Administrators & permissions · View (permissions.index)\",\n                    \"back_route_name\": \"permissions.index\",\n                    \"front_route_name\": \"permissions/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faaa-73d2-a2cf-f006469952cd\",\n                    \"title\": \"Administrators & permissions · View (roles.index)\",\n                    \"back_route_name\": \"roles.index\",\n                    \"front_route_name\": \"roles/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faac-718d-bf87-2d5e1356c056\",\n                    \"title\": \"Administrators & permissions · View (roles.show)\",\n                    \"back_route_name\": \"roles.show\",\n                    \"front_route_name\": \"roles/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad4-7335-af9b-55afe7f82537\",\n                    \"title\": \"Administrators & permissions · View (supervisors.index)\",\n                    \"back_route_name\": \"supervisors.index\",\n                    \"front_route_name\": \"supervisors/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad6-72d6-8bca-5fcba59c01b2\",\n                    \"title\": \"Administrators & permissions · View (supervisors.show)\",\n                    \"back_route_name\": \"supervisors.show\",\n                    \"front_route_name\": \"supervisors/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faaf-7054-a10a-d8e5d5c75e4d\",\n                    \"title\": \"Administrators & permissions · Add (roles.store)\",\n                    \"back_route_name\": \"roles.store\",\n                    \"front_route_name\": \"roles/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad8-7374-8e39-c8e1d1e1333a\",\n                    \"title\": \"Administrators & permissions · Add (supervisors.store)\",\n                    \"back_route_name\": \"supervisors.store\",\n                    \"front_route_name\": \"supervisors/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab1-736f-9d01-7ff09ec31d42\",\n                    \"title\": \"Administrators & permissions · Edit (roles.toggle-active)\",\n                    \"back_route_name\": \"roles.toggle-active\",\n                    \"front_route_name\": \"roles/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab3-711d-92d7-8f87eb789e6f\",\n                    \"title\": \"Administrators & permissions · Edit (roles.update)\",\n                    \"back_route_name\": \"roles.update\",\n                    \"front_route_name\": \"roles/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fada-7374-9e1a-61b9d7ee5dfd\",\n                    \"title\": \"Administrators & permissions · Edit (supervisors.toggle-active)\",\n                    \"back_route_name\": \"supervisors.toggle-active\",\n                    \"front_route_name\": \"supervisors/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fadc-73b2-971f-fb31b58ab923\",\n                    \"title\": \"Administrators & permissions · Edit (supervisors.update)\",\n                    \"back_route_name\": \"supervisors.update\",\n                    \"front_route_name\": \"supervisors/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faa8-73b2-8e75-f94e803a9abd\",\n                    \"title\": \"Administrators & permissions · Delete (roles.destroy)\",\n                    \"back_route_name\": \"roles.destroy\",\n                    \"front_route_name\": \"roles/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad2-7162-b7e2-8bed71143152\",\n                    \"title\": \"Administrators & permissions · Delete (supervisors.destroy)\",\n                    \"back_route_name\": \"supervisors.destroy\",\n                    \"front_route_name\": \"supervisors/delete\",\n                    \"icon\": \"\"\n                }\n            ]\n        },\n        \"sections\": [\n            {\n                \"key\": \"dashboard\",\n                \"label\": \"Dashboard\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"customers\",\n                \"label\": \"Customers\",\n                \"actions\": [\n                    \"view\",\n                    \"update\"\n                ]\n            },\n            {\n                \"key\": \"providers\",\n                \"label\": \"Service providers\",\n                \"actions\": [\n                    \"view\",\n                    \"update\",\n                    \"approve\"\n                ]\n            },\n            {\n                \"key\": \"drivers\",\n                \"label\": \"Drivers\",\n                \"actions\": [\n                    \"view\",\n                    \"update\",\n                    \"approve\"\n                ]\n            },\n            {\n                \"key\": \"registration_review\",\n                \"label\": \"Registration review\",\n                \"actions\": [\n                    \"view\",\n                    \"approve\"\n                ]\n            },\n            {\n                \"key\": \"service_areas\",\n                \"label\": \"Service areas\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"services\",\n                \"label\": \"Services, options & price ranges\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"packages\",\n                \"label\": \"Packages\",\n                \"actions\": [\n                    \"view\",\n                    \"update\",\n                    \"approve\"\n                ]\n            },\n            {\n                \"key\": \"orders\",\n                \"label\": \"Orders\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"transportation\",\n                \"label\": \"Transportation monitoring\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"payments\",\n                \"label\": \"Payments & coupons\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"featured_subscriptions\",\n                \"label\": \"Featured subscriptions\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"banners_content\",\n                \"label\": \"Banners & content\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"support\",\n                \"label\": \"Support & contact requests\",\n                \"actions\": [\n                    \"view\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"settings\",\n                \"label\": \"Platform settings\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"administrators\",\n                \"label\": \"Administrators & permissions\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 My Permissions Super Admin",
                                            "_joshen": {
                                                "route": "admin.auth.my-permissions",
                                                "name": "My Permissions Super Admin",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/my-permissions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\MyPermissionsTest::test_ac_admin_024_super_admin_receives_flag_and_every_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/my-permissions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "my-permissions"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Permissions retrieved successfully.\",\n    \"data\": {\n        \"is_super_admin\": true,\n        \"role\": null,\n        \"permissions\": {\n            \"Dashboard\": [\n                {\n                    \"id\": \"01a19762-f9ee-7250-aa99-2c2a4c2add17\",\n                    \"title\": \"Dashboard · View (dashboard.index)\",\n                    \"back_route_name\": \"dashboard.index\",\n                    \"front_route_name\": \"home/show-all\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Customers\": [\n                {\n                    \"id\": \"01a19762-fae3-70e9-9c51-ae5fe0987528\",\n                    \"title\": \"Customers · View (users.index)\",\n                    \"back_route_name\": \"users.index\",\n                    \"front_route_name\": \"users/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fae8-70fe-90f2-48e934eec151\",\n                    \"title\": \"Customers · View (users.view)\",\n                    \"back_route_name\": \"users.view\",\n                    \"front_route_name\": \"users/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faea-722e-ac72-e77a1338dd1d\",\n                    \"title\": \"Customers · View (users.wallet-transactions)\",\n                    \"back_route_name\": \"users.wallet-transactions\",\n                    \"front_route_name\": \"users/wallet-transactions\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fae6-7151-9a18-3b884ca43ad6\",\n                    \"title\": \"Customers · Edit (users.toggle)\",\n                    \"back_route_name\": \"users.toggle\",\n                    \"front_route_name\": \"users/toggle-active\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Service providers\": [\n                {\n                    \"id\": \"01a19762-fa81-73ae-8578-958432ff75f3\",\n                    \"title\": \"Service providers · View (providers.index)\",\n                    \"back_route_name\": \"providers.index\",\n                    \"front_route_name\": \"providers/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa8c-71c8-aa86-843cce24c90c\",\n                    \"title\": \"Service providers · View (providers.show)\",\n                    \"back_route_name\": \"providers.show\",\n                    \"front_route_name\": \"providers/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa90-71c9-9383-16944800cc83\",\n                    \"title\": \"Service providers · Edit (providers.work-area)\",\n                    \"back_route_name\": \"providers.work-area\",\n                    \"front_route_name\": \"providers/work-area\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa7d-72b6-a059-14820ae8cd6f\",\n                    \"title\": \"Service providers · Approve (providers.approve)\",\n                    \"back_route_name\": \"providers.approve\",\n                    \"front_route_name\": \"providers/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa7f-70c6-ac34-7e843392ad21\",\n                    \"title\": \"Service providers · Approve (providers.identity)\",\n                    \"back_route_name\": \"providers.identity\",\n                    \"front_route_name\": \"providers/identity\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa84-702f-b16a-43c265991113\",\n                    \"title\": \"Service providers · Approve (providers.reactivate)\",\n                    \"back_route_name\": \"providers.reactivate\",\n                    \"front_route_name\": \"providers/reactivate\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa86-7195-8c95-c69d0f7a376d\",\n                    \"title\": \"Service providers · Approve (providers.reject)\",\n                    \"back_route_name\": \"providers.reject\",\n                    \"front_route_name\": \"providers/reject\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa89-703b-b7f1-07db8e99ca05\",\n                    \"title\": \"Service providers · Approve (providers.request-changes)\",\n                    \"back_route_name\": \"providers.request-changes\",\n                    \"front_route_name\": \"providers/request-changes\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa8e-7110-af25-f8f85d5c65b4\",\n                    \"title\": \"Service providers · Approve (providers.suspend)\",\n                    \"back_route_name\": \"providers.suspend\",\n                    \"front_route_name\": \"providers/suspend\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Drivers\": [\n                {\n                    \"id\": \"01a19762-f9ff-716f-982a-07323fcd3edd\",\n                    \"title\": \"Drivers · View (drivers.index)\",\n                    \"back_route_name\": \"drivers.index\",\n                    \"front_route_name\": \"drivers/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa07-716d-8416-86c86bdd20e4\",\n                    \"title\": \"Drivers · View (drivers.show)\",\n                    \"back_route_name\": \"drivers.show\",\n                    \"front_route_name\": \"drivers/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa0c-7088-8f67-88260dc8b578\",\n                    \"title\": \"Drivers · Edit (drivers.work-area)\",\n                    \"back_route_name\": \"drivers.work-area\",\n                    \"front_route_name\": \"drivers/work-area\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9fa-729a-83d0-ef884fa159f4\",\n                    \"title\": \"Drivers · Approve (drivers.approve)\",\n                    \"back_route_name\": \"drivers.approve\",\n                    \"front_route_name\": \"drivers/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9fd-7187-8ce0-729e4ce66bae\",\n                    \"title\": \"Drivers · Approve (drivers.identity)\",\n                    \"back_route_name\": \"drivers.identity\",\n                    \"front_route_name\": \"drivers/identity\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa01-7087-960d-282d96b22c5d\",\n                    \"title\": \"Drivers · Approve (drivers.reactivate)\",\n                    \"back_route_name\": \"drivers.reactivate\",\n                    \"front_route_name\": \"drivers/reactivate\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa03-7126-96e7-1034453ec58c\",\n                    \"title\": \"Drivers · Approve (drivers.reject)\",\n                    \"back_route_name\": \"drivers.reject\",\n                    \"front_route_name\": \"drivers/reject\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa05-73cd-9ce0-2bbbb51ae9a3\",\n                    \"title\": \"Drivers · Approve (drivers.request-changes)\",\n                    \"back_route_name\": \"drivers.request-changes\",\n                    \"front_route_name\": \"drivers/request-changes\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa09-7359-8a26-4e5bfdd92e3d\",\n                    \"title\": \"Drivers · Approve (drivers.suspend)\",\n                    \"back_route_name\": \"drivers.suspend\",\n                    \"front_route_name\": \"drivers/suspend\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Registration review\": [\n                {\n                    \"id\": \"01a19762-f9c8-7122-8c01-80d0ae94f4f8\",\n                    \"title\": \"Registration review · View (category-requests.index)\",\n                    \"back_route_name\": \"category-requests.index\",\n                    \"front_route_name\": \"category-requests/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa9f-70ad-899d-3e428d2f0e44\",\n                    \"title\": \"Registration review · View (registration-requests.index)\",\n                    \"back_route_name\": \"registration-requests.index\",\n                    \"front_route_name\": \"registration-requests/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faa6-709e-936c-eb98792be0ed\",\n                    \"title\": \"Registration review · View (registration-requests.show)\",\n                    \"back_route_name\": \"registration-requests.show\",\n                    \"front_route_name\": \"registration-requests/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9c6-72c3-a2a3-d370af535ec4\",\n                    \"title\": \"Registration review · Approve (category-requests.approve)\",\n                    \"back_route_name\": \"category-requests.approve\",\n                    \"front_route_name\": \"category-requests/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9ca-73b3-b690-6a802965d8c7\",\n                    \"title\": \"Registration review · Approve (category-requests.reject)\",\n                    \"back_route_name\": \"category-requests.reject\",\n                    \"front_route_name\": \"category-requests/reject\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa9d-7284-a00c-330c49c4c2ee\",\n                    \"title\": \"Registration review · Approve (registration-requests.approve)\",\n                    \"back_route_name\": \"registration-requests.approve\",\n                    \"front_route_name\": \"registration-requests/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faa1-7033-91cc-5a29a853e9e9\",\n                    \"title\": \"Registration review · Approve (registration-requests.reject)\",\n                    \"back_route_name\": \"registration-requests.reject\",\n                    \"front_route_name\": \"registration-requests/reject\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faa3-701b-9342-bfc27ef0dbe9\",\n                    \"title\": \"Registration review · Approve (registration-requests.request-changes)\",\n                    \"back_route_name\": \"registration-requests.request-changes\",\n                    \"front_route_name\": \"registration-requests/request-changes\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Service areas\": [\n                {\n                    \"id\": \"01a19762-f9d8-72e8-826d-b49dcd453e4f\",\n                    \"title\": \"Service areas · View (countries.index)\",\n                    \"back_route_name\": \"countries.index\",\n                    \"front_route_name\": \"countries/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9db-720b-9f88-d47bc55e7137\",\n                    \"title\": \"Service areas · View (countries.show)\",\n                    \"back_route_name\": \"countries.show\",\n                    \"front_route_name\": \"countries/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f2-70ab-8a3c-5f44227d0bae\",\n                    \"title\": \"Service areas · View (delivery-fee-rules.index)\",\n                    \"back_route_name\": \"delivery-fee-rules.index\",\n                    \"front_route_name\": \"delivery-fee-rules/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f3-7317-be1b-a88153761358\",\n                    \"title\": \"Service areas · View (delivery-fee-rules.show)\",\n                    \"back_route_name\": \"delivery-fee-rules.show\",\n                    \"front_route_name\": \"delivery-fee-rules/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa3a-736a-b47a-8abcc95d88ad\",\n                    \"title\": \"Service areas · View (governorates.index)\",\n                    \"back_route_name\": \"governorates.index\",\n                    \"front_route_name\": \"governorates/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa3d-72b4-a8be-b67433bcc93f\",\n                    \"title\": \"Service areas · View (governorates.show)\",\n                    \"back_route_name\": \"governorates.show\",\n                    \"front_route_name\": \"governorates/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa95-7330-9d0a-c5e2e0d43e63\",\n                    \"title\": \"Service areas · View (regions.index)\",\n                    \"back_route_name\": \"regions.index\",\n                    \"front_route_name\": \"regions/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa97-7368-b98a-21475eab478c\",\n                    \"title\": \"Service areas · View (regions.show)\",\n                    \"back_route_name\": \"regions.show\",\n                    \"front_route_name\": \"regions/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9dd-7138-ba19-583d167be5f7\",\n                    \"title\": \"Service areas · Add (countries.store)\",\n                    \"back_route_name\": \"countries.store\",\n                    \"front_route_name\": \"countries/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f6-702a-bfc6-93f955c8f952\",\n                    \"title\": \"Service areas · Add (delivery-fee-rules.store)\",\n                    \"back_route_name\": \"delivery-fee-rules.store\",\n                    \"front_route_name\": \"delivery-fee-rules/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa40-72f6-8ed6-69c5ff0da839\",\n                    \"title\": \"Service areas · Add (governorates.store)\",\n                    \"back_route_name\": \"governorates.store\",\n                    \"front_route_name\": \"governorates/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa99-7041-bbdc-ddebe2db490e\",\n                    \"title\": \"Service areas · Add (regions.store)\",\n                    \"back_route_name\": \"regions.store\",\n                    \"front_route_name\": \"regions/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9df-7099-923e-ec7c083fff1c\",\n                    \"title\": \"Service areas · Edit (countries.update)\",\n                    \"back_route_name\": \"countries.update\",\n                    \"front_route_name\": \"countries/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f8-731c-9ba0-4258bd5851af\",\n                    \"title\": \"Service areas · Edit (delivery-fee-rules.update)\",\n                    \"back_route_name\": \"delivery-fee-rules.update\",\n                    \"front_route_name\": \"delivery-fee-rules/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa44-71d2-b133-edf42ea7b696\",\n                    \"title\": \"Service areas · Edit (governorates.update)\",\n                    \"back_route_name\": \"governorates.update\",\n                    \"front_route_name\": \"governorates/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa9b-70b7-bb97-212774dbb5a6\",\n                    \"title\": \"Service areas · Edit (regions.update)\",\n                    \"back_route_name\": \"regions.update\",\n                    \"front_route_name\": \"regions/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9d6-711f-865c-f6cc2696b4cd\",\n                    \"title\": \"Service areas · Delete (countries.destroy)\",\n                    \"back_route_name\": \"countries.destroy\",\n                    \"front_route_name\": \"countries/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9f0-7312-ad62-cd86d16f1011\",\n                    \"title\": \"Service areas · Delete (delivery-fee-rules.destroy)\",\n                    \"back_route_name\": \"delivery-fee-rules.destroy\",\n                    \"front_route_name\": \"delivery-fee-rules/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa37-7382-b89b-5c70581682f6\",\n                    \"title\": \"Service areas · Delete (governorates.destroy)\",\n                    \"back_route_name\": \"governorates.destroy\",\n                    \"front_route_name\": \"governorates/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa93-71d5-95f3-c3d931ebc799\",\n                    \"title\": \"Service areas · Delete (regions.destroy)\",\n                    \"back_route_name\": \"regions.destroy\",\n                    \"front_route_name\": \"regions/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Services, options & price ranges\": [\n                {\n                    \"id\": \"01a19762-f9b7-7249-8496-b515d806b5d1\",\n                    \"title\": \"Services, options & price ranges · View (categories.index)\",\n                    \"back_route_name\": \"categories.index\",\n                    \"front_route_name\": \"categories/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9ba-7223-8932-f365ad9606e8\",\n                    \"title\": \"Services, options & price ranges · View (categories.show)\",\n                    \"back_route_name\": \"categories.show\",\n                    \"front_route_name\": \"categories/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9c1-73b9-baff-9981121d3a04\",\n                    \"title\": \"Services, options & price ranges · View (categories.tree)\",\n                    \"back_route_name\": \"categories.tree\",\n                    \"front_route_name\": \"categories/tree\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa47-7279-933d-8ec56c1dc5fc\",\n                    \"title\": \"Services, options & price ranges · View (joshan.config.show)\",\n                    \"back_route_name\": \"joshan.config.show\",\n                    \"front_route_name\": \"joshan/config/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa4d-70f4-be3e-4f0cdbb2e453\",\n                    \"title\": \"Services, options & price ranges · View (joshan.occasions.index)\",\n                    \"back_route_name\": \"joshan.occasions.index\",\n                    \"front_route_name\": \"joshan/occasions/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa50-71c0-bd97-13baf019507a\",\n                    \"title\": \"Services, options & price ranges · View (joshan.occasions.show)\",\n                    \"back_route_name\": \"joshan.occasions.show\",\n                    \"front_route_name\": \"joshan/occasions/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa57-734f-8aeb-e12ccf32c6ed\",\n                    \"title\": \"Services, options & price ranges · View (joshan.searches.index)\",\n                    \"back_route_name\": \"joshan.searches.index\",\n                    \"front_route_name\": \"joshan/searches/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa59-71cb-8758-18de8a6b23d0\",\n                    \"title\": \"Services, options & price ranges · View (joshan.searches.summary)\",\n                    \"back_route_name\": \"joshan.searches.summary\",\n                    \"front_route_name\": \"joshan/searches/summary\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab7-728b-b301-3e938d713f94\",\n                    \"title\": \"Services, options & price ranges · View (services.index)\",\n                    \"back_route_name\": \"services.index\",\n                    \"front_route_name\": \"services/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab9-70fd-ab8a-8876e51044a8\",\n                    \"title\": \"Services, options & price ranges · View (services.show)\",\n                    \"back_route_name\": \"services.show\",\n                    \"front_route_name\": \"services/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9bc-7365-b6ae-3269e2b88f0b\",\n                    \"title\": \"Services, options & price ranges · Add (categories.store)\",\n                    \"back_route_name\": \"categories.store\",\n                    \"front_route_name\": \"categories/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa52-719d-b16e-15626e2fd04e\",\n                    \"title\": \"Services, options & price ranges · Add (joshan.occasions.store)\",\n                    \"back_route_name\": \"joshan.occasions.store\",\n                    \"front_route_name\": \"joshan/occasions/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fabb-71db-b686-0a23672d3117\",\n                    \"title\": \"Services, options & price ranges · Add (services.store)\",\n                    \"back_route_name\": \"services.store\",\n                    \"front_route_name\": \"services/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9bf-7295-913a-4eed215a029c\",\n                    \"title\": \"Services, options & price ranges · Edit (categories.toggle-active)\",\n                    \"back_route_name\": \"categories.toggle-active\",\n                    \"front_route_name\": \"categories/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9c4-705e-99a8-5c61a2ac59c9\",\n                    \"title\": \"Services, options & price ranges · Edit (categories.update)\",\n                    \"back_route_name\": \"categories.update\",\n                    \"front_route_name\": \"categories/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa49-730c-95d3-3f0d6dd988a3\",\n                    \"title\": \"Services, options & price ranges · Edit (joshan.config.update)\",\n                    \"back_route_name\": \"joshan.config.update\",\n                    \"front_route_name\": \"joshan/config/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa55-71fc-8742-975358eb7759\",\n                    \"title\": \"Services, options & price ranges · Edit (joshan.occasions.update)\",\n                    \"back_route_name\": \"joshan.occasions.update\",\n                    \"front_route_name\": \"joshan/occasions/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fabe-734b-bd5f-ac9f972fac02\",\n                    \"title\": \"Services, options & price ranges · Edit (services.toggle-active)\",\n                    \"back_route_name\": \"services.toggle-active\",\n                    \"front_route_name\": \"services/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac0-73e2-b0ea-ced1752a5615\",\n                    \"title\": \"Services, options & price ranges · Edit (services.update)\",\n                    \"back_route_name\": \"services.update\",\n                    \"front_route_name\": \"services/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9b5-70e4-be90-f1ec4a8c7353\",\n                    \"title\": \"Services, options & price ranges · Delete (categories.destroy)\",\n                    \"back_route_name\": \"categories.destroy\",\n                    \"front_route_name\": \"categories/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa4b-7027-bc40-c5904b685c73\",\n                    \"title\": \"Services, options & price ranges · Delete (joshan.occasions.destroy)\",\n                    \"back_route_name\": \"joshan.occasions.destroy\",\n                    \"front_route_name\": \"joshan/occasions/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab5-7236-9698-1cd33ebed17e\",\n                    \"title\": \"Services, options & price ranges · Delete (services.destroy)\",\n                    \"back_route_name\": \"services.destroy\",\n                    \"front_route_name\": \"services/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Packages\": [\n                {\n                    \"id\": \"01a19762-fa64-7379-af8a-3f4ae8ae7b2c\",\n                    \"title\": \"Packages · View (packages.index)\",\n                    \"back_route_name\": \"packages.index\",\n                    \"front_route_name\": \"packages/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa68-72ef-be33-db0d7119d46e\",\n                    \"title\": \"Packages · View (packages.show)\",\n                    \"back_route_name\": \"packages.show\",\n                    \"front_route_name\": \"packages/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa62-71e2-b609-e44a0615f4ed\",\n                    \"title\": \"Packages · Edit (packages.hide)\",\n                    \"back_route_name\": \"packages.hide\",\n                    \"front_route_name\": \"packages/hide\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa6b-7043-b05d-70c1961429a5\",\n                    \"title\": \"Packages · Edit (packages.unhide)\",\n                    \"back_route_name\": \"packages.unhide\",\n                    \"front_route_name\": \"packages/unhide\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa60-71c8-9c46-c9bd8bd46dd0\",\n                    \"title\": \"Packages · Approve (packages.approve)\",\n                    \"back_route_name\": \"packages.approve\",\n                    \"front_route_name\": \"packages/approve\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa66-7290-b1bf-cf708694ae73\",\n                    \"title\": \"Packages · Approve (packages.reject)\",\n                    \"back_route_name\": \"packages.reject\",\n                    \"front_route_name\": \"packages/reject\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Orders\": [\n                {\n                    \"id\": \"01a19762-fa5b-70ed-8f20-d68a684d4451\",\n                    \"title\": \"Orders · View (orders.index)\",\n                    \"back_route_name\": \"orders.index\",\n                    \"front_route_name\": \"orders/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa5d-73b6-bce0-4e45d6a12c23\",\n                    \"title\": \"Orders · View (orders.show)\",\n                    \"back_route_name\": \"orders.show\",\n                    \"front_route_name\": \"orders/show\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Transportation monitoring\": [\n                {\n                    \"id\": \"01a19762-fadf-70da-b162-0912f17b110c\",\n                    \"title\": \"Transportation monitoring · View (trips.index)\",\n                    \"back_route_name\": \"trips.index\",\n                    \"front_route_name\": \"trips/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fae1-7355-908f-2680a44886ee\",\n                    \"title\": \"Transportation monitoring · View (trips.show)\",\n                    \"back_route_name\": \"trips.show\",\n                    \"front_route_name\": \"trips/show\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Payments & coupons\": [\n                {\n                    \"id\": \"01a19762-f9e3-70e3-8de4-a199d8d533ad\",\n                    \"title\": \"Payments & coupons · View (coupons.index)\",\n                    \"back_route_name\": \"coupons.index\",\n                    \"front_route_name\": \"coupons/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9e5-7217-b70b-146f197f4603\",\n                    \"title\": \"Payments & coupons · View (coupons.redemptions)\",\n                    \"back_route_name\": \"coupons.redemptions\",\n                    \"front_route_name\": \"coupons/redemptions\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9e7-70e3-9ba9-d31224a9db2c\",\n                    \"title\": \"Payments & coupons · View (coupons.show)\",\n                    \"back_route_name\": \"coupons.show\",\n                    \"front_route_name\": \"coupons/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9e9-71f0-a150-3f64e6fa7648\",\n                    \"title\": \"Payments & coupons · Add (coupons.store)\",\n                    \"back_route_name\": \"coupons.store\",\n                    \"front_route_name\": \"coupons/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9eb-71bf-a208-78772ad12762\",\n                    \"title\": \"Payments & coupons · Edit (coupons.update)\",\n                    \"back_route_name\": \"coupons.update\",\n                    \"front_route_name\": \"coupons/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9e1-730c-bb51-882af813cc2c\",\n                    \"title\": \"Payments & coupons · Delete (coupons.destroy)\",\n                    \"back_route_name\": \"coupons.destroy\",\n                    \"front_route_name\": \"coupons/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Featured subscriptions\": [\n                {\n                    \"id\": \"01a19762-fa29-7133-bce1-257cb61a03a6\",\n                    \"title\": \"Featured subscriptions · View (featured-plans.index)\",\n                    \"back_route_name\": \"featured-plans.index\",\n                    \"front_route_name\": \"featured-plans/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa2c-716e-ab5d-6c5e9fa21765\",\n                    \"title\": \"Featured subscriptions · View (featured-plans.show)\",\n                    \"back_route_name\": \"featured-plans.show\",\n                    \"front_route_name\": \"featured-plans/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa32-7144-8196-d6d21542c9b6\",\n                    \"title\": \"Featured subscriptions · View (featured-subscriptions.index)\",\n                    \"back_route_name\": \"featured-subscriptions.index\",\n                    \"front_route_name\": \"featured-subscriptions/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa35-7241-9d3c-a4a5725e1a2d\",\n                    \"title\": \"Featured subscriptions · View (featured-subscriptions.show)\",\n                    \"back_route_name\": \"featured-subscriptions.show\",\n                    \"front_route_name\": \"featured-subscriptions/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa2e-72ff-860c-d0a672706f51\",\n                    \"title\": \"Featured subscriptions · Add (featured-plans.store)\",\n                    \"back_route_name\": \"featured-plans.store\",\n                    \"front_route_name\": \"featured-plans/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa30-706d-95de-1a46f4dde490\",\n                    \"title\": \"Featured subscriptions · Edit (featured-plans.update)\",\n                    \"back_route_name\": \"featured-plans.update\",\n                    \"front_route_name\": \"featured-plans/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa27-72e7-a442-f439170fde34\",\n                    \"title\": \"Featured subscriptions · Delete (featured-plans.destroy)\",\n                    \"back_route_name\": \"featured-plans.destroy\",\n                    \"front_route_name\": \"featured-plans/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Banners & content\": [\n                {\n                    \"id\": \"01a19762-fa10-714e-b9a2-440447a08556\",\n                    \"title\": \"Banners & content · View (faqs.index)\",\n                    \"back_route_name\": \"faqs.index\",\n                    \"front_route_name\": \"faqs/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa12-720c-86f5-7027407e62ce\",\n                    \"title\": \"Banners & content · View (faqs.show)\",\n                    \"back_route_name\": \"faqs.show\",\n                    \"front_route_name\": \"faqs/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa6f-7260-a145-8f3312b1a724\",\n                    \"title\": \"Banners & content · View (pages.index)\",\n                    \"back_route_name\": \"pages.index\",\n                    \"front_route_name\": \"pages/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa72-71df-9ca3-a99f8a68f6c9\",\n                    \"title\": \"Banners & content · View (pages.show)\",\n                    \"back_route_name\": \"pages.show\",\n                    \"front_route_name\": \"pages/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac9-7093-ba34-c84666d121b4\",\n                    \"title\": \"Banners & content · View (sliders.index)\",\n                    \"back_route_name\": \"sliders.index\",\n                    \"front_route_name\": \"sliders/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-facb-73f2-ab1f-31af970d8979\",\n                    \"title\": \"Banners & content · View (sliders.show)\",\n                    \"back_route_name\": \"sliders.show\",\n                    \"front_route_name\": \"sliders/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa14-7303-9e17-b34b409388ac\",\n                    \"title\": \"Banners & content · Add (faqs.store)\",\n                    \"back_route_name\": \"faqs.store\",\n                    \"front_route_name\": \"faqs/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa75-7281-badf-603c30f25f49\",\n                    \"title\": \"Banners & content · Add (pages.store)\",\n                    \"back_route_name\": \"pages.store\",\n                    \"front_route_name\": \"pages/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-facd-713f-b7d7-f5593372ca67\",\n                    \"title\": \"Banners & content · Add (sliders.store)\",\n                    \"back_route_name\": \"sliders.store\",\n                    \"front_route_name\": \"sliders/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa16-707d-9340-4d414949c021\",\n                    \"title\": \"Banners & content · Edit (faqs.update)\",\n                    \"back_route_name\": \"faqs.update\",\n                    \"front_route_name\": \"faqs/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa79-70e1-8c7b-6723dd7465d0\",\n                    \"title\": \"Banners & content · Edit (pages.update)\",\n                    \"back_route_name\": \"pages.update\",\n                    \"front_route_name\": \"pages/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad0-721a-85a6-547cb272e196\",\n                    \"title\": \"Banners & content · Edit (sliders.update)\",\n                    \"back_route_name\": \"sliders.update\",\n                    \"front_route_name\": \"sliders/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa0e-71d5-a163-2074ed675241\",\n                    \"title\": \"Banners & content · Delete (faqs.destroy)\",\n                    \"back_route_name\": \"faqs.destroy\",\n                    \"front_route_name\": \"faqs/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa6d-73d2-b77b-ea247bdf2a72\",\n                    \"title\": \"Banners & content · Delete (pages.destroy)\",\n                    \"back_route_name\": \"pages.destroy\",\n                    \"front_route_name\": \"pages/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac7-73d8-a4e5-509ecff30587\",\n                    \"title\": \"Banners & content · Delete (sliders.destroy)\",\n                    \"back_route_name\": \"sliders.destroy\",\n                    \"front_route_name\": \"sliders/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Support & contact requests\": [\n                {\n                    \"id\": \"01a19762-f9cf-7106-b8f8-0ce4a1c512f1\",\n                    \"title\": \"Support & contact requests · View (contact-messages.index)\",\n                    \"back_route_name\": \"contact-messages.index\",\n                    \"front_route_name\": \"contact-messages/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9d3-7061-825a-6dc9dce2f0a9\",\n                    \"title\": \"Support & contact requests · View (contact-messages.show)\",\n                    \"back_route_name\": \"contact-messages.show\",\n                    \"front_route_name\": \"contact-messages/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9d1-7223-ba7e-09c8fd8e3087\",\n                    \"title\": \"Support & contact requests · Edit (contact-messages.reply)\",\n                    \"back_route_name\": \"contact-messages.reply\",\n                    \"front_route_name\": \"contact-messages/reply\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f9cc-7297-a27d-424f2b670098\",\n                    \"title\": \"Support & contact requests · Delete (contact-messages.destroy)\",\n                    \"back_route_name\": \"contact-messages.destroy\",\n                    \"front_route_name\": \"contact-messages/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Platform settings\": [\n                {\n                    \"id\": \"01a19762-fa1f-7176-8ed5-9663b56e3b23\",\n                    \"title\": \"Platform settings · View (feature-flags.index)\",\n                    \"back_route_name\": \"feature-flags.index\",\n                    \"front_route_name\": \"feature-flags/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac2-72f4-9501-1979c64c3b1f\",\n                    \"title\": \"Platform settings · View (settings.index)\",\n                    \"back_route_name\": \"settings.index\",\n                    \"front_route_name\": \"settings/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa19-71fa-9421-84bfb3262e3b\",\n                    \"title\": \"Platform settings · Add (feature-flags.create)\",\n                    \"back_route_name\": \"feature-flags.create\",\n                    \"front_route_name\": \"feature-flags/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa22-71fe-b3fa-0f4a857328a7\",\n                    \"title\": \"Platform settings · Edit (feature-flags.toggle)\",\n                    \"back_route_name\": \"feature-flags.toggle\",\n                    \"front_route_name\": \"feature-flags/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa25-70bc-bf5f-0ee69d054f6d\",\n                    \"title\": \"Platform settings · Edit (feature-flags.update)\",\n                    \"back_route_name\": \"feature-flags.update\",\n                    \"front_route_name\": \"feature-flags/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fac4-72e8-aa4e-3bafb77b0f7a\",\n                    \"title\": \"Platform settings · Edit (settings.update)\",\n                    \"back_route_name\": \"settings.update\",\n                    \"front_route_name\": \"settings/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa1c-7251-922d-2770e9d8a482\",\n                    \"title\": \"Platform settings · Delete (feature-flags.delete)\",\n                    \"back_route_name\": \"feature-flags.delete\",\n                    \"front_route_name\": \"feature-flags/delete\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Administrators & permissions\": [\n                {\n                    \"id\": \"01a19762-f9b2-72b6-b93c-1b939feb134e\",\n                    \"title\": \"Administrators & permissions · View (audit-logs.index)\",\n                    \"back_route_name\": \"audit-logs.index\",\n                    \"front_route_name\": \"audit-logs/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fa7b-7284-b39e-ae0377336d85\",\n                    \"title\": \"Administrators & permissions · View (permissions.index)\",\n                    \"back_route_name\": \"permissions.index\",\n                    \"front_route_name\": \"permissions/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faaa-73d2-a2cf-f006469952cd\",\n                    \"title\": \"Administrators & permissions · View (roles.index)\",\n                    \"back_route_name\": \"roles.index\",\n                    \"front_route_name\": \"roles/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faac-718d-bf87-2d5e1356c056\",\n                    \"title\": \"Administrators & permissions · View (roles.show)\",\n                    \"back_route_name\": \"roles.show\",\n                    \"front_route_name\": \"roles/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad4-7335-af9b-55afe7f82537\",\n                    \"title\": \"Administrators & permissions · View (supervisors.index)\",\n                    \"back_route_name\": \"supervisors.index\",\n                    \"front_route_name\": \"supervisors/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad6-72d6-8bca-5fcba59c01b2\",\n                    \"title\": \"Administrators & permissions · View (supervisors.show)\",\n                    \"back_route_name\": \"supervisors.show\",\n                    \"front_route_name\": \"supervisors/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faaf-7054-a10a-d8e5d5c75e4d\",\n                    \"title\": \"Administrators & permissions · Add (roles.store)\",\n                    \"back_route_name\": \"roles.store\",\n                    \"front_route_name\": \"roles/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad8-7374-8e39-c8e1d1e1333a\",\n                    \"title\": \"Administrators & permissions · Add (supervisors.store)\",\n                    \"back_route_name\": \"supervisors.store\",\n                    \"front_route_name\": \"supervisors/add\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab1-736f-9d01-7ff09ec31d42\",\n                    \"title\": \"Administrators & permissions · Edit (roles.toggle-active)\",\n                    \"back_route_name\": \"roles.toggle-active\",\n                    \"front_route_name\": \"roles/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fab3-711d-92d7-8f87eb789e6f\",\n                    \"title\": \"Administrators & permissions · Edit (roles.update)\",\n                    \"back_route_name\": \"roles.update\",\n                    \"front_route_name\": \"roles/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fada-7374-9e1a-61b9d7ee5dfd\",\n                    \"title\": \"Administrators & permissions · Edit (supervisors.toggle-active)\",\n                    \"back_route_name\": \"supervisors.toggle-active\",\n                    \"front_route_name\": \"supervisors/toggle-active\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fadc-73b2-971f-fb31b58ab923\",\n                    \"title\": \"Administrators & permissions · Edit (supervisors.update)\",\n                    \"back_route_name\": \"supervisors.update\",\n                    \"front_route_name\": \"supervisors/edit\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-faa8-73b2-8e75-f94e803a9abd\",\n                    \"title\": \"Administrators & permissions · Delete (roles.destroy)\",\n                    \"back_route_name\": \"roles.destroy\",\n                    \"front_route_name\": \"roles/delete\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-fad2-7162-b7e2-8bed71143152\",\n                    \"title\": \"Administrators & permissions · Delete (supervisors.destroy)\",\n                    \"back_route_name\": \"supervisors.destroy\",\n                    \"front_route_name\": \"supervisors/delete\",\n                    \"icon\": \"\"\n                }\n            ]\n        },\n        \"sections\": [\n            {\n                \"key\": \"dashboard\",\n                \"label\": \"Dashboard\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"customers\",\n                \"label\": \"Customers\",\n                \"actions\": [\n                    \"view\",\n                    \"update\"\n                ]\n            },\n            {\n                \"key\": \"providers\",\n                \"label\": \"Service providers\",\n                \"actions\": [\n                    \"view\",\n                    \"update\",\n                    \"approve\"\n                ]\n            },\n            {\n                \"key\": \"drivers\",\n                \"label\": \"Drivers\",\n                \"actions\": [\n                    \"view\",\n                    \"update\",\n                    \"approve\"\n                ]\n            },\n            {\n                \"key\": \"registration_review\",\n                \"label\": \"Registration review\",\n                \"actions\": [\n                    \"view\",\n                    \"approve\"\n                ]\n            },\n            {\n                \"key\": \"service_areas\",\n                \"label\": \"Service areas\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"services\",\n                \"label\": \"Services, options & price ranges\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"packages\",\n                \"label\": \"Packages\",\n                \"actions\": [\n                    \"view\",\n                    \"update\",\n                    \"approve\"\n                ]\n            },\n            {\n                \"key\": \"orders\",\n                \"label\": \"Orders\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"transportation\",\n                \"label\": \"Transportation monitoring\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"payments\",\n                \"label\": \"Payments & coupons\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"featured_subscriptions\",\n                \"label\": \"Featured subscriptions\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"banners_content\",\n                \"label\": \"Banners & content\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"support\",\n                \"label\": \"Support & contact requests\",\n                \"actions\": [\n                    \"view\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"settings\",\n                \"label\": \"Platform settings\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            },\n            {\n                \"key\": \"administrators\",\n                \"label\": \"Administrators & permissions\",\n                \"actions\": [\n                    \"view\",\n                    \"create\",\n                    \"update\",\n                    \"delete\"\n                ]\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "200 My Permissions Supervisor",
                                            "_joshen": {
                                                "route": "admin.auth.my-permissions",
                                                "name": "My Permissions Supervisor",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/my-permissions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\MyPermissionsTest::test_ac_admin_024_supervisor_receives_role_and_direct_grants"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/my-permissions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "my-permissions"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Permissions retrieved successfully.\",\n    \"data\": {\n        \"is_super_admin\": false,\n        \"role\": {\n            \"id\": \"01a19762-f975-72b7-b14d-ddd75ae7b2cf\",\n            \"name\": \"Sample-wppx58373753\"\n        },\n        \"permissions\": {\n            \"Customers\": [\n                {\n                    \"id\": \"01a19762-f96b-721d-9da6-f457e7b9254a\",\n                    \"title\": \"Customers · View (users.index)\",\n                    \"back_route_name\": \"users.index\",\n                    \"front_route_name\": \"users/show-all\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f96f-7202-a599-e3ac4d2f64d7\",\n                    \"title\": \"Customers · View (users.view)\",\n                    \"back_route_name\": \"users.view\",\n                    \"front_route_name\": \"users/show\",\n                    \"icon\": \"\"\n                },\n                {\n                    \"id\": \"01a19762-f971-736b-999a-d94798f2acba\",\n                    \"title\": \"Customers · View (users.wallet-transactions)\",\n                    \"back_route_name\": \"users.wallet-transactions\",\n                    \"front_route_name\": \"users/wallet-transactions\",\n                    \"icon\": \"\"\n                }\n            ],\n            \"Drivers\": [\n                {\n                    \"id\": \"01a19762-f88c-71c5-8916-4a717fdb2a16\",\n                    \"title\": \"Drivers · View (drivers.show)\",\n                    \"back_route_name\": \"drivers.show\",\n                    \"front_route_name\": \"drivers/show\",\n                    \"icon\": \"\"\n                }\n            ]\n        },\n        \"sections\": [\n            {\n                \"key\": \"customers\",\n                \"label\": \"Customers\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"drivers\",\n                \"label\": \"Drivers\",\n                \"actions\": [\n                    \"view\"\n                ]\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/my-permissions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "my-permissions"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/my-permissions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "my-permissions"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/auth/my-permissions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "auth",
                                                        "my-permissions"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Profile",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "profile"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.profile.view`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Profile Viewed\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Profile retrieved successfully\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1babb-38b7-7122-aea5-b74925c66cbf\",\n            \"full_name\": \"Janet Jacobs\",\n            \"phone_code\": \"966\",\n            \"phone\": \"583641380\",\n            \"email\": \"tamara.wyman@example.net\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": null,\n            \"permissions\": {\n                \"Dashboard\": [\n                    {\n                        \"id\": \"01a1babb-3747-7037-8b6d-11a034d1934a\",\n                        \"title\": \"Dashboard · View (dashboard.index)\",\n                        \"back_route_name\": \"dashboard.index\",\n                        \"front_route_name\": \"home/show-all\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Customers\": [\n                    {\n                        \"id\": \"01a1babb-38ac-709d-80c1-578d19eec10d\",\n                        \"title\": \"Customers · View (users.index)\",\n                        \"back_route_name\": \"users.index\",\n                        \"front_route_name\": \"users/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38b1-7306-a7f5-7f37a5ff82d4\",\n                        \"title\": \"Customers · View (users.view)\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38b3-71d3-80a4-dec22b7f5ab9\",\n                        \"title\": \"Customers · View (users.wallet-transactions)\",\n                        \"back_route_name\": \"users.wallet-transactions\",\n                        \"front_route_name\": \"users/wallet-transactions\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38ae-713f-ab13-96e80541068b\",\n                        \"title\": \"Customers · Edit (users.toggle)\",\n                        \"back_route_name\": \"users.toggle\",\n                        \"front_route_name\": \"users/toggle-active\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Service providers\": [\n                    {\n                        \"id\": \"01a1babb-381c-7251-aff7-19450bb7b2bb\",\n                        \"title\": \"Service providers · View (providers.index)\",\n                        \"back_route_name\": \"providers.index\",\n                        \"front_route_name\": \"providers/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3826-7367-a490-888413f6ec44\",\n                        \"title\": \"Service providers · View (providers.show)\",\n                        \"back_route_name\": \"providers.show\",\n                        \"front_route_name\": \"providers/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-382a-70cc-8b73-8c2527c2370f\",\n                        \"title\": \"Service providers · Edit (providers.work-area)\",\n                        \"back_route_name\": \"providers.work-area\",\n                        \"front_route_name\": \"providers/work-area\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3818-73be-b0b9-806870d04211\",\n                        \"title\": \"Service providers · Approve (providers.approve)\",\n                        \"back_route_name\": \"providers.approve\",\n                        \"front_route_name\": \"providers/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-381a-716c-8421-877ca6865fe4\",\n                        \"title\": \"Service providers · Approve (providers.identity)\",\n                        \"back_route_name\": \"providers.identity\",\n                        \"front_route_name\": \"providers/identity\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-381f-71b4-a051-e6161faf5287\",\n                        \"title\": \"Service providers · Approve (providers.reactivate)\",\n                        \"back_route_name\": \"providers.reactivate\",\n                        \"front_route_name\": \"providers/reactivate\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3821-7159-9ebc-767f46b219bd\",\n                        \"title\": \"Service providers · Approve (providers.reject)\",\n                        \"back_route_name\": \"providers.reject\",\n                        \"front_route_name\": \"providers/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3824-729f-bb4e-d81f1a868f3c\",\n                        \"title\": \"Service providers · Approve (providers.request-changes)\",\n                        \"back_route_name\": \"providers.request-changes\",\n                        \"front_route_name\": \"providers/request-changes\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3828-71ae-b25e-2ae7fa47ca7d\",\n                        \"title\": \"Service providers · Approve (providers.suspend)\",\n                        \"back_route_name\": \"providers.suspend\",\n                        \"front_route_name\": \"providers/suspend\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Drivers\": [\n                    {\n                        \"id\": \"01a1babb-3759-70ee-8221-eded57e9acce\",\n                        \"title\": \"Drivers · View (drivers.index)\",\n                        \"back_route_name\": \"drivers.index\",\n                        \"front_route_name\": \"drivers/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3762-7128-ac36-69a206342952\",\n                        \"title\": \"Drivers · View (drivers.show)\",\n                        \"back_route_name\": \"drivers.show\",\n                        \"front_route_name\": \"drivers/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3767-7205-8c6f-77ea040ec022\",\n                        \"title\": \"Drivers · Edit (drivers.work-area)\",\n                        \"back_route_name\": \"drivers.work-area\",\n                        \"front_route_name\": \"drivers/work-area\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3754-731a-9283-5e0a2b9b7072\",\n                        \"title\": \"Drivers · Approve (drivers.approve)\",\n                        \"back_route_name\": \"drivers.approve\",\n                        \"front_route_name\": \"drivers/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3757-70d4-b9a6-fc4908c863f4\",\n                        \"title\": \"Drivers · Approve (drivers.identity)\",\n                        \"back_route_name\": \"drivers.identity\",\n                        \"front_route_name\": \"drivers/identity\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-375b-73a6-bcb7-add6d7e50df9\",\n                        \"title\": \"Drivers · Approve (drivers.reactivate)\",\n                        \"back_route_name\": \"drivers.reactivate\",\n                        \"front_route_name\": \"drivers/reactivate\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-375e-72a1-a146-8b483e77ecd0\",\n                        \"title\": \"Drivers · Approve (drivers.reject)\",\n                        \"back_route_name\": \"drivers.reject\",\n                        \"front_route_name\": \"drivers/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3760-72d0-baea-147173fce8d8\",\n                        \"title\": \"Drivers · Approve (drivers.request-changes)\",\n                        \"back_route_name\": \"drivers.request-changes\",\n                        \"front_route_name\": \"drivers/request-changes\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3765-7325-9197-fe4c19312617\",\n                        \"title\": \"Drivers · Approve (drivers.suspend)\",\n                        \"back_route_name\": \"drivers.suspend\",\n                        \"front_route_name\": \"drivers/suspend\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Registration review\": [\n                    {\n                        \"id\": \"01a1babb-370a-7245-85bb-7ba6c7952e10\",\n                        \"title\": \"Registration review · View (category-requests.index)\",\n                        \"back_route_name\": \"category-requests.index\",\n                        \"front_route_name\": \"category-requests/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3843-71fa-b8d6-aa0e2847734d\",\n                        \"title\": \"Registration review · View (registration-requests.index)\",\n                        \"back_route_name\": \"registration-requests.index\",\n                        \"front_route_name\": \"registration-requests/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-384b-71b1-95ba-bc9942f47dc1\",\n                        \"title\": \"Registration review · View (registration-requests.show)\",\n                        \"back_route_name\": \"registration-requests.show\",\n                        \"front_route_name\": \"registration-requests/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3708-73e4-b98e-70e3bd6df0af\",\n                        \"title\": \"Registration review · Approve (category-requests.approve)\",\n                        \"back_route_name\": \"category-requests.approve\",\n                        \"front_route_name\": \"category-requests/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-370d-7063-a274-c57f20ae5de6\",\n                        \"title\": \"Registration review · Approve (category-requests.reject)\",\n                        \"back_route_name\": \"category-requests.reject\",\n                        \"front_route_name\": \"category-requests/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3841-7368-b2ef-257b335fb71d\",\n                        \"title\": \"Registration review · Approve (registration-requests.approve)\",\n                        \"back_route_name\": \"registration-requests.approve\",\n                        \"front_route_name\": \"registration-requests/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3846-725f-a84b-521a362b2bfb\",\n                        \"title\": \"Registration review · Approve (registration-requests.reject)\",\n                        \"back_route_name\": \"registration-requests.reject\",\n                        \"front_route_name\": \"registration-requests/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3848-70c9-b758-e30d4437e323\",\n                        \"title\": \"Registration review · Approve (registration-requests.request-changes)\",\n                        \"back_route_name\": \"registration-requests.request-changes\",\n                        \"front_route_name\": \"registration-requests/request-changes\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Service areas\": [\n                    {\n                        \"id\": \"01a1babb-372e-7293-9ef6-f336bd103e2d\",\n                        \"title\": \"Service areas · View (countries.index)\",\n                        \"back_route_name\": \"countries.index\",\n                        \"front_route_name\": \"countries/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3730-7075-81e9-48330d830a69\",\n                        \"title\": \"Service areas · View (countries.show)\",\n                        \"back_route_name\": \"countries.show\",\n                        \"front_route_name\": \"countries/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-374b-70a0-9683-e01bb1e4397d\",\n                        \"title\": \"Service areas · View (delivery-fee-rules.index)\",\n                        \"back_route_name\": \"delivery-fee-rules.index\",\n                        \"front_route_name\": \"delivery-fee-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-374e-7350-b6fb-9d3bed5e3033\",\n                        \"title\": \"Service areas · View (delivery-fee-rules.show)\",\n                        \"back_route_name\": \"delivery-fee-rules.show\",\n                        \"front_route_name\": \"delivery-fee-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3798-72cf-9818-0bcdacfd2e84\",\n                        \"title\": \"Service areas · View (governorates.index)\",\n                        \"back_route_name\": \"governorates.index\",\n                        \"front_route_name\": \"governorates/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-379a-72e8-bc32-94730e401937\",\n                        \"title\": \"Service areas · View (governorates.show)\",\n                        \"back_route_name\": \"governorates.show\",\n                        \"front_route_name\": \"governorates/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3836-7369-93e7-596e0ab64ece\",\n                        \"title\": \"Service areas · View (regions.index)\",\n                        \"back_route_name\": \"regions.index\",\n                        \"front_route_name\": \"regions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3839-724a-b6dc-0701f3e36981\",\n                        \"title\": \"Service areas · View (regions.show)\",\n                        \"back_route_name\": \"regions.show\",\n                        \"front_route_name\": \"regions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3732-70f0-9c7c-5fa6942c7e99\",\n                        \"title\": \"Service areas · Add (countries.store)\",\n                        \"back_route_name\": \"countries.store\",\n                        \"front_route_name\": \"countries/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3750-7150-8a59-0e68659310a7\",\n                        \"title\": \"Service areas · Add (delivery-fee-rules.store)\",\n                        \"back_route_name\": \"delivery-fee-rules.store\",\n                        \"front_route_name\": \"delivery-fee-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-379c-73b6-a079-2850e6221339\",\n                        \"title\": \"Service areas · Add (governorates.store)\",\n                        \"back_route_name\": \"governorates.store\",\n                        \"front_route_name\": \"governorates/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-383b-70b6-9a1b-62d1376d98d7\",\n                        \"title\": \"Service areas · Add (regions.store)\",\n                        \"back_route_name\": \"regions.store\",\n                        \"front_route_name\": \"regions/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3734-7312-850a-e5df385e916b\",\n                        \"title\": \"Service areas · Edit (countries.update)\",\n                        \"back_route_name\": \"countries.update\",\n                        \"front_route_name\": \"countries/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3752-73c6-91a2-1a9cecb367b0\",\n                        \"title\": \"Service areas · Edit (delivery-fee-rules.update)\",\n                        \"back_route_name\": \"delivery-fee-rules.update\",\n                        \"front_route_name\": \"delivery-fee-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-379f-70ce-b33a-5dbe969fa47f\",\n                        \"title\": \"Service areas · Edit (governorates.update)\",\n                        \"back_route_name\": \"governorates.update\",\n                        \"front_route_name\": \"governorates/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-383e-7315-b2d4-76ffabf3a2de\",\n                        \"title\": \"Service areas · Edit (regions.update)\",\n                        \"back_route_name\": \"regions.update\",\n                        \"front_route_name\": \"regions/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-372c-7242-bdd3-037e02a7cb10\",\n                        \"title\": \"Service areas · Delete (countries.destroy)\",\n                        \"back_route_name\": \"countries.destroy\",\n                        \"front_route_name\": \"countries/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3749-72e5-a468-0a928a2875d9\",\n                        \"title\": \"Service areas · Delete (delivery-fee-rules.destroy)\",\n                        \"back_route_name\": \"delivery-fee-rules.destroy\",\n                        \"front_route_name\": \"delivery-fee-rules/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3795-700c-8a1e-edec4ab7da83\",\n                        \"title\": \"Service areas · Delete (governorates.destroy)\",\n                        \"back_route_name\": \"governorates.destroy\",\n                        \"front_route_name\": \"governorates/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3833-7199-92f6-ca1ca01b2903\",\n                        \"title\": \"Service areas · Delete (regions.destroy)\",\n                        \"back_route_name\": \"regions.destroy\",\n                        \"front_route_name\": \"regions/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Services, options & price ranges\": [\n                    {\n                        \"id\": \"01a1babb-36f2-7294-89c6-4d5f1f053af0\",\n                        \"title\": \"Services, options & price ranges · View (categories.index)\",\n                        \"back_route_name\": \"categories.index\",\n                        \"front_route_name\": \"categories/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36f5-71a1-9f5b-84e54be3fb7c\",\n                        \"title\": \"Services, options & price ranges · View (categories.show)\",\n                        \"back_route_name\": \"categories.show\",\n                        \"front_route_name\": \"categories/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36ff-7034-bb8d-9f221dcfa46b\",\n                        \"title\": \"Services, options & price ranges · View (categories.tree)\",\n                        \"back_route_name\": \"categories.tree\",\n                        \"front_route_name\": \"categories/tree\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37a2-7180-8fb0-788562c531d5\",\n                        \"title\": \"Services, options & price ranges · View (joshan.config.show)\",\n                        \"back_route_name\": \"joshan.config.show\",\n                        \"front_route_name\": \"joshan/config/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37ab-72cf-a88e-c1ea5f81d3ec\",\n                        \"title\": \"Services, options & price ranges · View (joshan.occasions.index)\",\n                        \"back_route_name\": \"joshan.occasions.index\",\n                        \"front_route_name\": \"joshan/occasions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37ad-70be-b903-d48a5dfdd472\",\n                        \"title\": \"Services, options & price ranges · View (joshan.occasions.show)\",\n                        \"back_route_name\": \"joshan.occasions.show\",\n                        \"front_route_name\": \"joshan/occasions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37b3-71ff-912f-49805607e9be\",\n                        \"title\": \"Services, options & price ranges · View (joshan.searches.index)\",\n                        \"back_route_name\": \"joshan.searches.index\",\n                        \"front_route_name\": \"joshan/searches/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37b6-72f0-9060-f74982d1b0db\",\n                        \"title\": \"Services, options & price ranges · View (joshan.searches.summary)\",\n                        \"back_route_name\": \"joshan.searches.summary\",\n                        \"front_route_name\": \"joshan/searches/summary\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-386d-71fc-b6ba-ee264483281e\",\n                        \"title\": \"Services, options & price ranges · View (services.index)\",\n                        \"back_route_name\": \"services.index\",\n                        \"front_route_name\": \"services/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3870-7357-bd71-087caf3b5d07\",\n                        \"title\": \"Services, options & price ranges · View (services.show)\",\n                        \"back_route_name\": \"services.show\",\n                        \"front_route_name\": \"services/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36f9-7156-a395-78b628fa6c07\",\n                        \"title\": \"Services, options & price ranges · Add (categories.store)\",\n                        \"back_route_name\": \"categories.store\",\n                        \"front_route_name\": \"categories/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37af-70d1-89be-a91a02318231\",\n                        \"title\": \"Services, options & price ranges · Add (joshan.occasions.store)\",\n                        \"back_route_name\": \"joshan.occasions.store\",\n                        \"front_route_name\": \"joshan/occasions/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3873-727c-bfa0-d51ac22de459\",\n                        \"title\": \"Services, options & price ranges · Add (services.store)\",\n                        \"back_route_name\": \"services.store\",\n                        \"front_route_name\": \"services/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36fc-7216-b805-efab63a88f51\",\n                        \"title\": \"Services, options & price ranges · Edit (categories.toggle-active)\",\n                        \"back_route_name\": \"categories.toggle-active\",\n                        \"front_route_name\": \"categories/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3705-72aa-9f72-396245996a47\",\n                        \"title\": \"Services, options & price ranges · Edit (categories.update)\",\n                        \"back_route_name\": \"categories.update\",\n                        \"front_route_name\": \"categories/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37a5-70b9-a84b-9b053797ec8f\",\n                        \"title\": \"Services, options & price ranges · Edit (joshan.config.update)\",\n                        \"back_route_name\": \"joshan.config.update\",\n                        \"front_route_name\": \"joshan/config/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37b1-7366-ada0-d8549890fb64\",\n                        \"title\": \"Services, options & price ranges · Edit (joshan.occasions.update)\",\n                        \"back_route_name\": \"joshan.occasions.update\",\n                        \"front_route_name\": \"joshan/occasions/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3875-72a0-801a-1c9ffaa55284\",\n                        \"title\": \"Services, options & price ranges · Edit (services.toggle-active)\",\n                        \"back_route_name\": \"services.toggle-active\",\n                        \"front_route_name\": \"services/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3877-7099-9ff9-34e9c2410d63\",\n                        \"title\": \"Services, options & price ranges · Edit (services.update)\",\n                        \"back_route_name\": \"services.update\",\n                        \"front_route_name\": \"services/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36ef-732e-85fa-f592a280a5fa\",\n                        \"title\": \"Services, options & price ranges · Delete (categories.destroy)\",\n                        \"back_route_name\": \"categories.destroy\",\n                        \"front_route_name\": \"categories/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37a7-70fa-997e-a04b8536296b\",\n                        \"title\": \"Services, options & price ranges · Delete (joshan.occasions.destroy)\",\n                        \"back_route_name\": \"joshan.occasions.destroy\",\n                        \"front_route_name\": \"joshan/occasions/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-386a-71ef-bcfc-30f471543dfb\",\n                        \"title\": \"Services, options & price ranges · Delete (services.destroy)\",\n                        \"back_route_name\": \"services.destroy\",\n                        \"front_route_name\": \"services/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Packages\": [\n                    {\n                        \"id\": \"01a1babb-37e7-7331-bd4b-fdc318aeebd4\",\n                        \"title\": \"Packages · View (packages.index)\",\n                        \"back_route_name\": \"packages.index\",\n                        \"front_route_name\": \"packages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37eb-72a7-bbd0-8ccce3abbffb\",\n                        \"title\": \"Packages · View (packages.show)\",\n                        \"back_route_name\": \"packages.show\",\n                        \"front_route_name\": \"packages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37e4-72c5-ae56-660e44ace8ed\",\n                        \"title\": \"Packages · Edit (packages.hide)\",\n                        \"back_route_name\": \"packages.hide\",\n                        \"front_route_name\": \"packages/hide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37ed-73f3-ab2d-87bea446fc9a\",\n                        \"title\": \"Packages · Edit (packages.unhide)\",\n                        \"back_route_name\": \"packages.unhide\",\n                        \"front_route_name\": \"packages/unhide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37e1-7230-87bd-08ecf8a417a4\",\n                        \"title\": \"Packages · Approve (packages.approve)\",\n                        \"back_route_name\": \"packages.approve\",\n                        \"front_route_name\": \"packages/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37e8-73fa-930d-b46c15ec21b8\",\n                        \"title\": \"Packages · Approve (packages.reject)\",\n                        \"back_route_name\": \"packages.reject\",\n                        \"front_route_name\": \"packages/reject\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Orders\": [\n                    {\n                        \"id\": \"01a1babb-3727-7003-823f-42e019203e11\",\n                        \"title\": \"Orders · View (conversations.index)\",\n                        \"back_route_name\": \"conversations.index\",\n                        \"front_route_name\": \"conversations/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3729-717a-9c39-1445a4991f1f\",\n                        \"title\": \"Orders · View (conversations.show)\",\n                        \"back_route_name\": \"conversations.show\",\n                        \"front_route_name\": \"conversations/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37dc-7320-9384-cb9ef83672d6\",\n                        \"title\": \"Orders · View (orders.index)\",\n                        \"back_route_name\": \"orders.index\",\n                        \"front_route_name\": \"orders/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37df-734d-b1c9-8bf53f9da7b7\",\n                        \"title\": \"Orders · View (orders.show)\",\n                        \"back_route_name\": \"orders.show\",\n                        \"front_route_name\": \"orders/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Transportation monitoring\": [\n                    {\n                        \"id\": \"01a1babb-38a7-733d-bfdb-93614a2ba248\",\n                        \"title\": \"Transportation monitoring · View (trips.index)\",\n                        \"back_route_name\": \"trips.index\",\n                        \"front_route_name\": \"trips/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38aa-7244-9225-c040760dc152\",\n                        \"title\": \"Transportation monitoring · View (trips.show)\",\n                        \"back_route_name\": \"trips.show\",\n                        \"front_route_name\": \"trips/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Payments & coupons\": [\n                    {\n                        \"id\": \"01a1babb-3739-73cd-871e-e9b6e8342848\",\n                        \"title\": \"Payments & coupons · View (coupons.index)\",\n                        \"back_route_name\": \"coupons.index\",\n                        \"front_route_name\": \"coupons/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-373c-7335-bbfc-d952eb18cc98\",\n                        \"title\": \"Payments & coupons · View (coupons.redemptions)\",\n                        \"back_route_name\": \"coupons.redemptions\",\n                        \"front_route_name\": \"coupons/redemptions\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-373f-701c-bb96-0916736eabfa\",\n                        \"title\": \"Payments & coupons · View (coupons.show)\",\n                        \"back_route_name\": \"coupons.show\",\n                        \"front_route_name\": \"coupons/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37fb-7132-9b90-e9ae4f45f8c0\",\n                        \"title\": \"Payments & coupons · View (payments.index)\",\n                        \"back_route_name\": \"payments.index\",\n                        \"front_route_name\": \"payments/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37fe-71b5-8293-19eacae766b3\",\n                        \"title\": \"Payments & coupons · View (payments.show)\",\n                        \"back_route_name\": \"payments.show\",\n                        \"front_route_name\": \"payments/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3742-71b0-90d6-db3e12cb7d2a\",\n                        \"title\": \"Payments & coupons · Add (coupons.store)\",\n                        \"back_route_name\": \"coupons.store\",\n                        \"front_route_name\": \"coupons/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3744-716b-b0e1-ed70e734f92b\",\n                        \"title\": \"Payments & coupons · Edit (coupons.update)\",\n                        \"back_route_name\": \"coupons.update\",\n                        \"front_route_name\": \"coupons/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3737-73e0-bf2e-01f3559185ac\",\n                        \"title\": \"Payments & coupons · Delete (coupons.destroy)\",\n                        \"back_route_name\": \"coupons.destroy\",\n                        \"front_route_name\": \"coupons/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Commissions, amounts due & payouts\": [\n                    {\n                        \"id\": \"01a1babb-3712-73b6-8d82-870ec351ed9e\",\n                        \"title\": \"Commissions, amounts due & payouts · View (commission-rules.index)\",\n                        \"back_route_name\": \"commission-rules.index\",\n                        \"front_route_name\": \"commission-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3715-7208-ae82-3facb854b342\",\n                        \"title\": \"Commissions, amounts due & payouts · View (commission-rules.show)\",\n                        \"back_route_name\": \"commission-rules.show\",\n                        \"front_route_name\": \"commission-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3801-736b-8a89-b808f2960a77\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payout-balances.index)\",\n                        \"back_route_name\": \"payout-balances.index\",\n                        \"front_route_name\": \"payout-balances/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-380c-7331-86c5-c27f30fceef2\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payouts.index)\",\n                        \"back_route_name\": \"payouts.index\",\n                        \"front_route_name\": \"payouts/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3814-737b-b7bd-c63d51654fcb\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payouts.show)\",\n                        \"back_route_name\": \"payouts.show\",\n                        \"front_route_name\": \"payouts/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3717-722a-a3b0-12d12cd4372b\",\n                        \"title\": \"Commissions, amounts due & payouts · Add (commission-rules.store)\",\n                        \"back_route_name\": \"commission-rules.store\",\n                        \"front_route_name\": \"commission-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3719-72fd-9911-0900aef0f0d6\",\n                        \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.toggle-active)\",\n                        \"back_route_name\": \"commission-rules.toggle-active\",\n                        \"front_route_name\": \"commission-rules/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-371b-711f-a599-e7c547076bd1\",\n                        \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.update)\",\n                        \"back_route_name\": \"commission-rules.update\",\n                        \"front_route_name\": \"commission-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-370f-7375-9e82-43954a9dcdd7\",\n                        \"title\": \"Commissions, amounts due & payouts · Delete (commission-rules.destroy)\",\n                        \"back_route_name\": \"commission-rules.destroy\",\n                        \"front_route_name\": \"commission-rules/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3803-73ab-8bf6-88e5bc753cca\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.bank-account)\",\n                        \"back_route_name\": \"payouts.bank-account\",\n                        \"front_route_name\": \"payouts/bank-account\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3806-73d1-955c-792826fd273b\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.cancel)\",\n                        \"back_route_name\": \"payouts.cancel\",\n                        \"front_route_name\": \"payouts/cancel\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3809-7396-b36a-e448144506ae\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.fail)\",\n                        \"back_route_name\": \"payouts.fail\",\n                        \"front_route_name\": \"payouts/fail\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-380f-701d-aa1a-dcfe2cae2704\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.paid)\",\n                        \"back_route_name\": \"payouts.paid\",\n                        \"front_route_name\": \"payouts/paid\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3811-7376-b03f-bc8d06691191\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.processing)\",\n                        \"back_route_name\": \"payouts.processing\",\n                        \"front_route_name\": \"payouts/processing\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Cancellations & refunds\": [\n                    {\n                        \"id\": \"01a1babb-36de-7136-a6d5-dfaf0da8a0c7\",\n                        \"title\": \"Cancellations & refunds · View (cancellation-rules.index)\",\n                        \"back_route_name\": \"cancellation-rules.index\",\n                        \"front_route_name\": \"cancellation-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36e2-732c-b58a-971254fefb53\",\n                        \"title\": \"Cancellations & refunds · View (cancellation-rules.show)\",\n                        \"back_route_name\": \"cancellation-rules.show\",\n                        \"front_route_name\": \"cancellation-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36ea-701b-b0c7-cffc78221548\",\n                        \"title\": \"Cancellations & refunds · View (cancellations.index)\",\n                        \"back_route_name\": \"cancellations.index\",\n                        \"front_route_name\": \"cancellations/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36ed-70df-aebb-cc0a24308763\",\n                        \"title\": \"Cancellations & refunds · View (cancellations.show)\",\n                        \"back_route_name\": \"cancellations.show\",\n                        \"front_route_name\": \"cancellations/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-382d-71c9-adeb-19b5006b3c37\",\n                        \"title\": \"Cancellations & refunds · View (refunds.index)\",\n                        \"back_route_name\": \"refunds.index\",\n                        \"front_route_name\": \"refunds/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-382f-73ca-86b6-af5779c482cc\",\n                        \"title\": \"Cancellations & refunds · View (refunds.show)\",\n                        \"back_route_name\": \"refunds.show\",\n                        \"front_route_name\": \"refunds/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36e4-72c8-8241-96f5ccb7a0b2\",\n                        \"title\": \"Cancellations & refunds · Add (cancellation-rules.store)\",\n                        \"back_route_name\": \"cancellation-rules.store\",\n                        \"front_route_name\": \"cancellation-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3831-70c0-9489-9fcf70775582\",\n                        \"title\": \"Cancellations & refunds · Add (refunds.store)\",\n                        \"back_route_name\": \"refunds.store\",\n                        \"front_route_name\": \"refunds/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36e7-72c1-929a-3f308d1aa707\",\n                        \"title\": \"Cancellations & refunds · Edit (cancellation-rules.update)\",\n                        \"back_route_name\": \"cancellation-rules.update\",\n                        \"front_route_name\": \"cancellation-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36db-7330-816e-b2b910eff3c8\",\n                        \"title\": \"Cancellations & refunds · Delete (cancellation-rules.destroy)\",\n                        \"back_route_name\": \"cancellation-rules.destroy\",\n                        \"front_route_name\": \"cancellation-rules/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Featured subscriptions\": [\n                    {\n                        \"id\": \"01a1babb-3787-73de-a2bd-99ea7a6dc43c\",\n                        \"title\": \"Featured subscriptions · View (featured-plans.index)\",\n                        \"back_route_name\": \"featured-plans.index\",\n                        \"front_route_name\": \"featured-plans/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-378a-7343-8801-f7976ec879d9\",\n                        \"title\": \"Featured subscriptions · View (featured-plans.show)\",\n                        \"back_route_name\": \"featured-plans.show\",\n                        \"front_route_name\": \"featured-plans/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3791-70b8-86e9-464318e7db20\",\n                        \"title\": \"Featured subscriptions · View (featured-subscriptions.index)\",\n                        \"back_route_name\": \"featured-subscriptions.index\",\n                        \"front_route_name\": \"featured-subscriptions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3793-7333-a5fb-d70a1d9d16bd\",\n                        \"title\": \"Featured subscriptions · View (featured-subscriptions.show)\",\n                        \"back_route_name\": \"featured-subscriptions.show\",\n                        \"front_route_name\": \"featured-subscriptions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-378c-72ae-85b6-eb0753e3983b\",\n                        \"title\": \"Featured subscriptions · Add (featured-plans.store)\",\n                        \"back_route_name\": \"featured-plans.store\",\n                        \"front_route_name\": \"featured-plans/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-378e-70e0-94f9-3873f37e70c6\",\n                        \"title\": \"Featured subscriptions · Edit (featured-plans.update)\",\n                        \"back_route_name\": \"featured-plans.update\",\n                        \"front_route_name\": \"featured-plans/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3784-713b-a53c-b26adc4139d9\",\n                        \"title\": \"Featured subscriptions · Delete (featured-plans.destroy)\",\n                        \"back_route_name\": \"featured-plans.destroy\",\n                        \"front_route_name\": \"featured-plans/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Ratings\": [\n                    {\n                        \"id\": \"01a1babb-3854-70a5-a3cc-fffed4a34a67\",\n                        \"title\": \"Ratings · View (reviews.index)\",\n                        \"back_route_name\": \"reviews.index\",\n                        \"front_route_name\": \"reviews/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3859-7289-94a5-7d4111ebe616\",\n                        \"title\": \"Ratings · View (reviews.show)\",\n                        \"back_route_name\": \"reviews.show\",\n                        \"front_route_name\": \"reviews/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3852-7075-a4ef-b9a85c1748ce\",\n                        \"title\": \"Ratings · Edit (reviews.hide)\",\n                        \"back_route_name\": \"reviews.hide\",\n                        \"front_route_name\": \"reviews/hide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3856-7371-b6e1-b198d3918e2c\",\n                        \"title\": \"Ratings · Edit (reviews.publish)\",\n                        \"back_route_name\": \"reviews.publish\",\n                        \"front_route_name\": \"reviews/publish\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Banners & content\": [\n                    {\n                        \"id\": \"01a1babb-376b-7016-a6ae-2e190c2b882d\",\n                        \"title\": \"Banners & content · View (faqs.index)\",\n                        \"back_route_name\": \"faqs.index\",\n                        \"front_route_name\": \"faqs/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-376e-71fb-89f1-1067ad38d2ff\",\n                        \"title\": \"Banners & content · View (faqs.show)\",\n                        \"back_route_name\": \"faqs.show\",\n                        \"front_route_name\": \"faqs/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37d0-7232-a3fe-19cb63b84278\",\n                        \"title\": \"Banners & content · View (onboarding-slides.index)\",\n                        \"back_route_name\": \"onboarding-slides.index\",\n                        \"front_route_name\": \"onboarding-slides/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37d3-70b8-83c7-eca5bbbc9d77\",\n                        \"title\": \"Banners & content · View (onboarding-slides.show)\",\n                        \"back_route_name\": \"onboarding-slides.show\",\n                        \"front_route_name\": \"onboarding-slides/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f2-725e-b0c7-604b765e1b25\",\n                        \"title\": \"Banners & content · View (pages.index)\",\n                        \"back_route_name\": \"pages.index\",\n                        \"front_route_name\": \"pages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f5-705a-9f2b-ee884d24af0c\",\n                        \"title\": \"Banners & content · View (pages.show)\",\n                        \"back_route_name\": \"pages.show\",\n                        \"front_route_name\": \"pages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3880-7126-84f6-6a11e634b2af\",\n                        \"title\": \"Banners & content · View (sliders.index)\",\n                        \"back_route_name\": \"sliders.index\",\n                        \"front_route_name\": \"sliders/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3883-7064-b878-255d4cf3a040\",\n                        \"title\": \"Banners & content · View (sliders.show)\",\n                        \"back_route_name\": \"sliders.show\",\n                        \"front_route_name\": \"sliders/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3772-7150-95db-6712e274922b\",\n                        \"title\": \"Banners & content · Add (faqs.store)\",\n                        \"back_route_name\": \"faqs.store\",\n                        \"front_route_name\": \"faqs/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37d6-72af-8b51-eafe3e987a16\",\n                        \"title\": \"Banners & content · Add (onboarding-slides.store)\",\n                        \"back_route_name\": \"onboarding-slides.store\",\n                        \"front_route_name\": \"onboarding-slides/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f7-700c-9185-9aca33668b5a\",\n                        \"title\": \"Banners & content · Add (pages.store)\",\n                        \"back_route_name\": \"pages.store\",\n                        \"front_route_name\": \"pages/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3885-73b5-9c03-d56fe2043566\",\n                        \"title\": \"Banners & content · Add (sliders.store)\",\n                        \"back_route_name\": \"sliders.store\",\n                        \"front_route_name\": \"sliders/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3775-73fe-8ccf-f34b1c4f27c6\",\n                        \"title\": \"Banners & content · Edit (faqs.update)\",\n                        \"back_route_name\": \"faqs.update\",\n                        \"front_route_name\": \"faqs/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37d9-7220-a0da-d57753f25ef8\",\n                        \"title\": \"Banners & content · Edit (onboarding-slides.update)\",\n                        \"back_route_name\": \"onboarding-slides.update\",\n                        \"front_route_name\": \"onboarding-slides/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f9-7030-ac76-89bf019af0ce\",\n                        \"title\": \"Banners & content · Edit (pages.update)\",\n                        \"back_route_name\": \"pages.update\",\n                        \"front_route_name\": \"pages/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3887-7204-8b77-1031145303b6\",\n                        \"title\": \"Banners & content · Edit (sliders.update)\",\n                        \"back_route_name\": \"sliders.update\",\n                        \"front_route_name\": \"sliders/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3769-711c-b8e7-04fddca98c1a\",\n                        \"title\": \"Banners & content · Delete (faqs.destroy)\",\n                        \"back_route_name\": \"faqs.destroy\",\n                        \"front_route_name\": \"faqs/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37ce-73e4-b30d-7fbc3a1746e9\",\n                        \"title\": \"Banners & content · Delete (onboarding-slides.destroy)\",\n                        \"back_route_name\": \"onboarding-slides.destroy\",\n                        \"front_route_name\": \"onboarding-slides/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f0-72e8-8f90-476d44b686ac\",\n                        \"title\": \"Banners & content · Delete (pages.destroy)\",\n                        \"back_route_name\": \"pages.destroy\",\n                        \"front_route_name\": \"pages/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-387e-71bb-93a3-07d5bd4daca5\",\n                        \"title\": \"Banners & content · Delete (sliders.destroy)\",\n                        \"back_route_name\": \"sliders.destroy\",\n                        \"front_route_name\": \"sliders/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Notifications\": [\n                    {\n                        \"id\": \"01a1babb-37b8-700a-8597-f4e0147b4a9f\",\n                        \"title\": \"Notifications · View (notifications.deliveries.index)\",\n                        \"back_route_name\": \"notifications.deliveries.index\",\n                        \"front_route_name\": \"notifications/deliveries/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37bb-73b8-9adb-494530ab6132\",\n                        \"title\": \"Notifications · View (notifications.general.index)\",\n                        \"back_route_name\": \"notifications.general.index\",\n                        \"front_route_name\": \"notifications/general/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37bf-71e6-a2ea-46387ea5a0a8\",\n                        \"title\": \"Notifications · View (notifications.general.show)\",\n                        \"back_route_name\": \"notifications.general.show\",\n                        \"front_route_name\": \"notifications/general/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37c4-738d-856f-1aa633aac9c3\",\n                        \"title\": \"Notifications · View (notifications.index)\",\n                        \"back_route_name\": \"notifications.index\",\n                        \"front_route_name\": \"notifications/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37c6-7217-bdea-da49bac41d63\",\n                        \"title\": \"Notifications · View (notifications.templates.index)\",\n                        \"back_route_name\": \"notifications.templates.index\",\n                        \"front_route_name\": \"notifications/templates/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37c9-71ff-b598-f8682cd067e7\",\n                        \"title\": \"Notifications · View (notifications.templates.show)\",\n                        \"back_route_name\": \"notifications.templates.show\",\n                        \"front_route_name\": \"notifications/templates/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37bd-73a9-b473-fa93752c61f3\",\n                        \"title\": \"Notifications · Add (notifications.general.retry)\",\n                        \"back_route_name\": \"notifications.general.retry\",\n                        \"front_route_name\": \"notifications/general/retry\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37c2-734f-8619-cab14e0becce\",\n                        \"title\": \"Notifications · Add (notifications.general.store)\",\n                        \"back_route_name\": \"notifications.general.store\",\n                        \"front_route_name\": \"notifications/general/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37cb-73c3-be2a-e0b2df1b9abb\",\n                        \"title\": \"Notifications · Edit (notifications.templates.update)\",\n                        \"back_route_name\": \"notifications.templates.update\",\n                        \"front_route_name\": \"notifications/templates/edit\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Support & contact requests\": [\n                    {\n                        \"id\": \"01a1babb-3720-708d-8797-487a527f46e3\",\n                        \"title\": \"Support & contact requests · View (contact-messages.index)\",\n                        \"back_route_name\": \"contact-messages.index\",\n                        \"front_route_name\": \"contact-messages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3725-71e5-880b-398cbb58157f\",\n                        \"title\": \"Support & contact requests · View (contact-messages.show)\",\n                        \"back_route_name\": \"contact-messages.show\",\n                        \"front_route_name\": \"contact-messages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-389d-7225-8ba1-9a36f45061c8\",\n                        \"title\": \"Support & contact requests · View (support-tickets.index)\",\n                        \"back_route_name\": \"support-tickets.index\",\n                        \"front_route_name\": \"support-tickets/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38a2-705e-bd35-901e872c6a57\",\n                        \"title\": \"Support & contact requests · View (support-tickets.show)\",\n                        \"back_route_name\": \"support-tickets.show\",\n                        \"front_route_name\": \"support-tickets/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3722-724b-a71d-aaa30bcf5a46\",\n                        \"title\": \"Support & contact requests · Edit (contact-messages.reply)\",\n                        \"back_route_name\": \"contact-messages.reply\",\n                        \"front_route_name\": \"contact-messages/reply\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3898-701a-a036-70b845955e41\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.assign)\",\n                        \"back_route_name\": \"support-tickets.assign\",\n                        \"front_route_name\": \"support-tickets/assign\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-389b-7090-8064-d74e3500fe41\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.close)\",\n                        \"back_route_name\": \"support-tickets.close\",\n                        \"front_route_name\": \"support-tickets/close\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-389f-72a2-8ee3-c1bc2f656ef4\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.reply)\",\n                        \"back_route_name\": \"support-tickets.reply\",\n                        \"front_route_name\": \"support-tickets/reply\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38a5-701a-b703-29f6456ad2b9\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.status)\",\n                        \"back_route_name\": \"support-tickets.status\",\n                        \"front_route_name\": \"support-tickets/status\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-371e-71cf-b7f5-ad029f7dc103\",\n                        \"title\": \"Support & contact requests · Delete (contact-messages.destroy)\",\n                        \"back_route_name\": \"contact-messages.destroy\",\n                        \"front_route_name\": \"contact-messages/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Reports & statistics\": [\n                    {\n                        \"id\": \"01a1babb-384d-71ce-8515-3e656650426e\",\n                        \"title\": \"Reports & statistics · View (reports.rankings)\",\n                        \"back_route_name\": \"reports.rankings\",\n                        \"front_route_name\": \"reports/rankings\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-384f-72e2-88bc-a3b27efa97ae\",\n                        \"title\": \"Reports & statistics · View (reports.summary)\",\n                        \"back_route_name\": \"reports.summary\",\n                        \"front_route_name\": \"reports/summary\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Platform settings\": [\n                    {\n                        \"id\": \"01a1babb-377d-71cd-bb9e-72213dd6a18a\",\n                        \"title\": \"Platform settings · View (feature-flags.index)\",\n                        \"back_route_name\": \"feature-flags.index\",\n                        \"front_route_name\": \"feature-flags/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-387a-7395-ad1c-bfa273f69010\",\n                        \"title\": \"Platform settings · View (settings.index)\",\n                        \"back_route_name\": \"settings.index\",\n                        \"front_route_name\": \"settings/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3778-706c-af11-877c17b165e4\",\n                        \"title\": \"Platform settings · Add (feature-flags.create)\",\n                        \"back_route_name\": \"feature-flags.create\",\n                        \"front_route_name\": \"feature-flags/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3780-7250-8cf2-abc2d0a9ae5f\",\n                        \"title\": \"Platform settings · Edit (feature-flags.toggle)\",\n                        \"back_route_name\": \"feature-flags.toggle\",\n                        \"front_route_name\": \"feature-flags/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3782-72e7-8930-542bb25ce3a3\",\n                        \"title\": \"Platform settings · Edit (feature-flags.update)\",\n                        \"back_route_name\": \"feature-flags.update\",\n                        \"front_route_name\": \"feature-flags/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-387c-7350-b7e5-3ba62c0ec53a\",\n                        \"title\": \"Platform settings · Edit (settings.update)\",\n                        \"back_route_name\": \"settings.update\",\n                        \"front_route_name\": \"settings/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-377b-70d4-9b61-49781a0825f2\",\n                        \"title\": \"Platform settings · Delete (feature-flags.delete)\",\n                        \"back_route_name\": \"feature-flags.delete\",\n                        \"front_route_name\": \"feature-flags/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a1babb-36d8-707b-b8f2-107aa6d5ad2b\",\n                        \"title\": \"Administrators & permissions · View (audit-logs.index)\",\n                        \"back_route_name\": \"audit-logs.index\",\n                        \"front_route_name\": \"audit-logs/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3816-719a-9c50-e89455b1941d\",\n                        \"title\": \"Administrators & permissions · View (permissions.index)\",\n                        \"back_route_name\": \"permissions.index\",\n                        \"front_route_name\": \"permissions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-385e-70ea-801b-2239c3adddae\",\n                        \"title\": \"Administrators & permissions · View (roles.index)\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3861-72fb-9e86-066447d6c924\",\n                        \"title\": \"Administrators & permissions · View (roles.show)\",\n                        \"back_route_name\": \"roles.show\",\n                        \"front_route_name\": \"roles/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-388c-71d5-8e51-4588aea662cd\",\n                        \"title\": \"Administrators & permissions · View (supervisors.index)\",\n                        \"back_route_name\": \"supervisors.index\",\n                        \"front_route_name\": \"supervisors/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-388e-7177-a0c8-37df07c4c028\",\n                        \"title\": \"Administrators & permissions · View (supervisors.show)\",\n                        \"back_route_name\": \"supervisors.show\",\n                        \"front_route_name\": \"supervisors/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3863-7151-8707-7ed602c91e1b\",\n                        \"title\": \"Administrators & permissions · Add (roles.store)\",\n                        \"back_route_name\": \"roles.store\",\n                        \"front_route_name\": \"roles/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3891-72b6-bb0d-15966a680e15\",\n                        \"title\": \"Administrators & permissions · Add (supervisors.store)\",\n                        \"back_route_name\": \"supervisors.store\",\n                        \"front_route_name\": \"supervisors/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3865-708d-8af9-a57793d83b49\",\n                        \"title\": \"Administrators & permissions · Edit (roles.toggle-active)\",\n                        \"back_route_name\": \"roles.toggle-active\",\n                        \"front_route_name\": \"roles/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3868-72d8-ac6e-1ce8cbf3563f\",\n                        \"title\": \"Administrators & permissions · Edit (roles.update)\",\n                        \"back_route_name\": \"roles.update\",\n                        \"front_route_name\": \"roles/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3894-71fc-afbc-667c3e4239c5\",\n                        \"title\": \"Administrators & permissions · Edit (supervisors.toggle-active)\",\n                        \"back_route_name\": \"supervisors.toggle-active\",\n                        \"front_route_name\": \"supervisors/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3896-7008-b99d-edbe7a4c708e\",\n                        \"title\": \"Administrators & permissions · Edit (supervisors.update)\",\n                        \"back_route_name\": \"supervisors.update\",\n                        \"front_route_name\": \"supervisors/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-385c-73c9-af93-ff29381ecab4\",\n                        \"title\": \"Administrators & permissions · Delete (roles.destroy)\",\n                        \"back_route_name\": \"roles.destroy\",\n                        \"front_route_name\": \"roles/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-388a-716b-945a-bf7b68ae1289\",\n                        \"title\": \"Administrators & permissions · Delete (supervisors.destroy)\",\n                        \"back_route_name\": \"supervisors.destroy\",\n                        \"front_route_name\": \"supervisors/delete\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"super_admin\",\n                \"label\": \"Super admin\"\n            }\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Profile Viewed",
                                            "_joshen": {
                                                "route": "admin.profile.view",
                                                "name": "Profile Viewed",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/profile",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_profile_and_session_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Profile retrieved successfully\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1babb-38b7-7122-aea5-b74925c66cbf\",\n            \"full_name\": \"Janet Jacobs\",\n            \"phone_code\": \"966\",\n            \"phone\": \"583641380\",\n            \"email\": \"tamara.wyman@example.net\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"role\": null,\n            \"permissions\": {\n                \"Dashboard\": [\n                    {\n                        \"id\": \"01a1babb-3747-7037-8b6d-11a034d1934a\",\n                        \"title\": \"Dashboard · View (dashboard.index)\",\n                        \"back_route_name\": \"dashboard.index\",\n                        \"front_route_name\": \"home/show-all\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Customers\": [\n                    {\n                        \"id\": \"01a1babb-38ac-709d-80c1-578d19eec10d\",\n                        \"title\": \"Customers · View (users.index)\",\n                        \"back_route_name\": \"users.index\",\n                        \"front_route_name\": \"users/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38b1-7306-a7f5-7f37a5ff82d4\",\n                        \"title\": \"Customers · View (users.view)\",\n                        \"back_route_name\": \"users.view\",\n                        \"front_route_name\": \"users/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38b3-71d3-80a4-dec22b7f5ab9\",\n                        \"title\": \"Customers · View (users.wallet-transactions)\",\n                        \"back_route_name\": \"users.wallet-transactions\",\n                        \"front_route_name\": \"users/wallet-transactions\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38ae-713f-ab13-96e80541068b\",\n                        \"title\": \"Customers · Edit (users.toggle)\",\n                        \"back_route_name\": \"users.toggle\",\n                        \"front_route_name\": \"users/toggle-active\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Service providers\": [\n                    {\n                        \"id\": \"01a1babb-381c-7251-aff7-19450bb7b2bb\",\n                        \"title\": \"Service providers · View (providers.index)\",\n                        \"back_route_name\": \"providers.index\",\n                        \"front_route_name\": \"providers/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3826-7367-a490-888413f6ec44\",\n                        \"title\": \"Service providers · View (providers.show)\",\n                        \"back_route_name\": \"providers.show\",\n                        \"front_route_name\": \"providers/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-382a-70cc-8b73-8c2527c2370f\",\n                        \"title\": \"Service providers · Edit (providers.work-area)\",\n                        \"back_route_name\": \"providers.work-area\",\n                        \"front_route_name\": \"providers/work-area\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3818-73be-b0b9-806870d04211\",\n                        \"title\": \"Service providers · Approve (providers.approve)\",\n                        \"back_route_name\": \"providers.approve\",\n                        \"front_route_name\": \"providers/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-381a-716c-8421-877ca6865fe4\",\n                        \"title\": \"Service providers · Approve (providers.identity)\",\n                        \"back_route_name\": \"providers.identity\",\n                        \"front_route_name\": \"providers/identity\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-381f-71b4-a051-e6161faf5287\",\n                        \"title\": \"Service providers · Approve (providers.reactivate)\",\n                        \"back_route_name\": \"providers.reactivate\",\n                        \"front_route_name\": \"providers/reactivate\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3821-7159-9ebc-767f46b219bd\",\n                        \"title\": \"Service providers · Approve (providers.reject)\",\n                        \"back_route_name\": \"providers.reject\",\n                        \"front_route_name\": \"providers/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3824-729f-bb4e-d81f1a868f3c\",\n                        \"title\": \"Service providers · Approve (providers.request-changes)\",\n                        \"back_route_name\": \"providers.request-changes\",\n                        \"front_route_name\": \"providers/request-changes\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3828-71ae-b25e-2ae7fa47ca7d\",\n                        \"title\": \"Service providers · Approve (providers.suspend)\",\n                        \"back_route_name\": \"providers.suspend\",\n                        \"front_route_name\": \"providers/suspend\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Drivers\": [\n                    {\n                        \"id\": \"01a1babb-3759-70ee-8221-eded57e9acce\",\n                        \"title\": \"Drivers · View (drivers.index)\",\n                        \"back_route_name\": \"drivers.index\",\n                        \"front_route_name\": \"drivers/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3762-7128-ac36-69a206342952\",\n                        \"title\": \"Drivers · View (drivers.show)\",\n                        \"back_route_name\": \"drivers.show\",\n                        \"front_route_name\": \"drivers/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3767-7205-8c6f-77ea040ec022\",\n                        \"title\": \"Drivers · Edit (drivers.work-area)\",\n                        \"back_route_name\": \"drivers.work-area\",\n                        \"front_route_name\": \"drivers/work-area\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3754-731a-9283-5e0a2b9b7072\",\n                        \"title\": \"Drivers · Approve (drivers.approve)\",\n                        \"back_route_name\": \"drivers.approve\",\n                        \"front_route_name\": \"drivers/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3757-70d4-b9a6-fc4908c863f4\",\n                        \"title\": \"Drivers · Approve (drivers.identity)\",\n                        \"back_route_name\": \"drivers.identity\",\n                        \"front_route_name\": \"drivers/identity\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-375b-73a6-bcb7-add6d7e50df9\",\n                        \"title\": \"Drivers · Approve (drivers.reactivate)\",\n                        \"back_route_name\": \"drivers.reactivate\",\n                        \"front_route_name\": \"drivers/reactivate\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-375e-72a1-a146-8b483e77ecd0\",\n                        \"title\": \"Drivers · Approve (drivers.reject)\",\n                        \"back_route_name\": \"drivers.reject\",\n                        \"front_route_name\": \"drivers/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3760-72d0-baea-147173fce8d8\",\n                        \"title\": \"Drivers · Approve (drivers.request-changes)\",\n                        \"back_route_name\": \"drivers.request-changes\",\n                        \"front_route_name\": \"drivers/request-changes\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3765-7325-9197-fe4c19312617\",\n                        \"title\": \"Drivers · Approve (drivers.suspend)\",\n                        \"back_route_name\": \"drivers.suspend\",\n                        \"front_route_name\": \"drivers/suspend\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Registration review\": [\n                    {\n                        \"id\": \"01a1babb-370a-7245-85bb-7ba6c7952e10\",\n                        \"title\": \"Registration review · View (category-requests.index)\",\n                        \"back_route_name\": \"category-requests.index\",\n                        \"front_route_name\": \"category-requests/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3843-71fa-b8d6-aa0e2847734d\",\n                        \"title\": \"Registration review · View (registration-requests.index)\",\n                        \"back_route_name\": \"registration-requests.index\",\n                        \"front_route_name\": \"registration-requests/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-384b-71b1-95ba-bc9942f47dc1\",\n                        \"title\": \"Registration review · View (registration-requests.show)\",\n                        \"back_route_name\": \"registration-requests.show\",\n                        \"front_route_name\": \"registration-requests/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3708-73e4-b98e-70e3bd6df0af\",\n                        \"title\": \"Registration review · Approve (category-requests.approve)\",\n                        \"back_route_name\": \"category-requests.approve\",\n                        \"front_route_name\": \"category-requests/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-370d-7063-a274-c57f20ae5de6\",\n                        \"title\": \"Registration review · Approve (category-requests.reject)\",\n                        \"back_route_name\": \"category-requests.reject\",\n                        \"front_route_name\": \"category-requests/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3841-7368-b2ef-257b335fb71d\",\n                        \"title\": \"Registration review · Approve (registration-requests.approve)\",\n                        \"back_route_name\": \"registration-requests.approve\",\n                        \"front_route_name\": \"registration-requests/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3846-725f-a84b-521a362b2bfb\",\n                        \"title\": \"Registration review · Approve (registration-requests.reject)\",\n                        \"back_route_name\": \"registration-requests.reject\",\n                        \"front_route_name\": \"registration-requests/reject\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3848-70c9-b758-e30d4437e323\",\n                        \"title\": \"Registration review · Approve (registration-requests.request-changes)\",\n                        \"back_route_name\": \"registration-requests.request-changes\",\n                        \"front_route_name\": \"registration-requests/request-changes\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Service areas\": [\n                    {\n                        \"id\": \"01a1babb-372e-7293-9ef6-f336bd103e2d\",\n                        \"title\": \"Service areas · View (countries.index)\",\n                        \"back_route_name\": \"countries.index\",\n                        \"front_route_name\": \"countries/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3730-7075-81e9-48330d830a69\",\n                        \"title\": \"Service areas · View (countries.show)\",\n                        \"back_route_name\": \"countries.show\",\n                        \"front_route_name\": \"countries/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-374b-70a0-9683-e01bb1e4397d\",\n                        \"title\": \"Service areas · View (delivery-fee-rules.index)\",\n                        \"back_route_name\": \"delivery-fee-rules.index\",\n                        \"front_route_name\": \"delivery-fee-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-374e-7350-b6fb-9d3bed5e3033\",\n                        \"title\": \"Service areas · View (delivery-fee-rules.show)\",\n                        \"back_route_name\": \"delivery-fee-rules.show\",\n                        \"front_route_name\": \"delivery-fee-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3798-72cf-9818-0bcdacfd2e84\",\n                        \"title\": \"Service areas · View (governorates.index)\",\n                        \"back_route_name\": \"governorates.index\",\n                        \"front_route_name\": \"governorates/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-379a-72e8-bc32-94730e401937\",\n                        \"title\": \"Service areas · View (governorates.show)\",\n                        \"back_route_name\": \"governorates.show\",\n                        \"front_route_name\": \"governorates/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3836-7369-93e7-596e0ab64ece\",\n                        \"title\": \"Service areas · View (regions.index)\",\n                        \"back_route_name\": \"regions.index\",\n                        \"front_route_name\": \"regions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3839-724a-b6dc-0701f3e36981\",\n                        \"title\": \"Service areas · View (regions.show)\",\n                        \"back_route_name\": \"regions.show\",\n                        \"front_route_name\": \"regions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3732-70f0-9c7c-5fa6942c7e99\",\n                        \"title\": \"Service areas · Add (countries.store)\",\n                        \"back_route_name\": \"countries.store\",\n                        \"front_route_name\": \"countries/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3750-7150-8a59-0e68659310a7\",\n                        \"title\": \"Service areas · Add (delivery-fee-rules.store)\",\n                        \"back_route_name\": \"delivery-fee-rules.store\",\n                        \"front_route_name\": \"delivery-fee-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-379c-73b6-a079-2850e6221339\",\n                        \"title\": \"Service areas · Add (governorates.store)\",\n                        \"back_route_name\": \"governorates.store\",\n                        \"front_route_name\": \"governorates/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-383b-70b6-9a1b-62d1376d98d7\",\n                        \"title\": \"Service areas · Add (regions.store)\",\n                        \"back_route_name\": \"regions.store\",\n                        \"front_route_name\": \"regions/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3734-7312-850a-e5df385e916b\",\n                        \"title\": \"Service areas · Edit (countries.update)\",\n                        \"back_route_name\": \"countries.update\",\n                        \"front_route_name\": \"countries/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3752-73c6-91a2-1a9cecb367b0\",\n                        \"title\": \"Service areas · Edit (delivery-fee-rules.update)\",\n                        \"back_route_name\": \"delivery-fee-rules.update\",\n                        \"front_route_name\": \"delivery-fee-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-379f-70ce-b33a-5dbe969fa47f\",\n                        \"title\": \"Service areas · Edit (governorates.update)\",\n                        \"back_route_name\": \"governorates.update\",\n                        \"front_route_name\": \"governorates/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-383e-7315-b2d4-76ffabf3a2de\",\n                        \"title\": \"Service areas · Edit (regions.update)\",\n                        \"back_route_name\": \"regions.update\",\n                        \"front_route_name\": \"regions/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-372c-7242-bdd3-037e02a7cb10\",\n                        \"title\": \"Service areas · Delete (countries.destroy)\",\n                        \"back_route_name\": \"countries.destroy\",\n                        \"front_route_name\": \"countries/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3749-72e5-a468-0a928a2875d9\",\n                        \"title\": \"Service areas · Delete (delivery-fee-rules.destroy)\",\n                        \"back_route_name\": \"delivery-fee-rules.destroy\",\n                        \"front_route_name\": \"delivery-fee-rules/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3795-700c-8a1e-edec4ab7da83\",\n                        \"title\": \"Service areas · Delete (governorates.destroy)\",\n                        \"back_route_name\": \"governorates.destroy\",\n                        \"front_route_name\": \"governorates/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3833-7199-92f6-ca1ca01b2903\",\n                        \"title\": \"Service areas · Delete (regions.destroy)\",\n                        \"back_route_name\": \"regions.destroy\",\n                        \"front_route_name\": \"regions/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Services, options & price ranges\": [\n                    {\n                        \"id\": \"01a1babb-36f2-7294-89c6-4d5f1f053af0\",\n                        \"title\": \"Services, options & price ranges · View (categories.index)\",\n                        \"back_route_name\": \"categories.index\",\n                        \"front_route_name\": \"categories/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36f5-71a1-9f5b-84e54be3fb7c\",\n                        \"title\": \"Services, options & price ranges · View (categories.show)\",\n                        \"back_route_name\": \"categories.show\",\n                        \"front_route_name\": \"categories/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36ff-7034-bb8d-9f221dcfa46b\",\n                        \"title\": \"Services, options & price ranges · View (categories.tree)\",\n                        \"back_route_name\": \"categories.tree\",\n                        \"front_route_name\": \"categories/tree\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37a2-7180-8fb0-788562c531d5\",\n                        \"title\": \"Services, options & price ranges · View (joshan.config.show)\",\n                        \"back_route_name\": \"joshan.config.show\",\n                        \"front_route_name\": \"joshan/config/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37ab-72cf-a88e-c1ea5f81d3ec\",\n                        \"title\": \"Services, options & price ranges · View (joshan.occasions.index)\",\n                        \"back_route_name\": \"joshan.occasions.index\",\n                        \"front_route_name\": \"joshan/occasions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37ad-70be-b903-d48a5dfdd472\",\n                        \"title\": \"Services, options & price ranges · View (joshan.occasions.show)\",\n                        \"back_route_name\": \"joshan.occasions.show\",\n                        \"front_route_name\": \"joshan/occasions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37b3-71ff-912f-49805607e9be\",\n                        \"title\": \"Services, options & price ranges · View (joshan.searches.index)\",\n                        \"back_route_name\": \"joshan.searches.index\",\n                        \"front_route_name\": \"joshan/searches/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37b6-72f0-9060-f74982d1b0db\",\n                        \"title\": \"Services, options & price ranges · View (joshan.searches.summary)\",\n                        \"back_route_name\": \"joshan.searches.summary\",\n                        \"front_route_name\": \"joshan/searches/summary\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-386d-71fc-b6ba-ee264483281e\",\n                        \"title\": \"Services, options & price ranges · View (services.index)\",\n                        \"back_route_name\": \"services.index\",\n                        \"front_route_name\": \"services/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3870-7357-bd71-087caf3b5d07\",\n                        \"title\": \"Services, options & price ranges · View (services.show)\",\n                        \"back_route_name\": \"services.show\",\n                        \"front_route_name\": \"services/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36f9-7156-a395-78b628fa6c07\",\n                        \"title\": \"Services, options & price ranges · Add (categories.store)\",\n                        \"back_route_name\": \"categories.store\",\n                        \"front_route_name\": \"categories/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37af-70d1-89be-a91a02318231\",\n                        \"title\": \"Services, options & price ranges · Add (joshan.occasions.store)\",\n                        \"back_route_name\": \"joshan.occasions.store\",\n                        \"front_route_name\": \"joshan/occasions/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3873-727c-bfa0-d51ac22de459\",\n                        \"title\": \"Services, options & price ranges · Add (services.store)\",\n                        \"back_route_name\": \"services.store\",\n                        \"front_route_name\": \"services/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36fc-7216-b805-efab63a88f51\",\n                        \"title\": \"Services, options & price ranges · Edit (categories.toggle-active)\",\n                        \"back_route_name\": \"categories.toggle-active\",\n                        \"front_route_name\": \"categories/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3705-72aa-9f72-396245996a47\",\n                        \"title\": \"Services, options & price ranges · Edit (categories.update)\",\n                        \"back_route_name\": \"categories.update\",\n                        \"front_route_name\": \"categories/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37a5-70b9-a84b-9b053797ec8f\",\n                        \"title\": \"Services, options & price ranges · Edit (joshan.config.update)\",\n                        \"back_route_name\": \"joshan.config.update\",\n                        \"front_route_name\": \"joshan/config/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37b1-7366-ada0-d8549890fb64\",\n                        \"title\": \"Services, options & price ranges · Edit (joshan.occasions.update)\",\n                        \"back_route_name\": \"joshan.occasions.update\",\n                        \"front_route_name\": \"joshan/occasions/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3875-72a0-801a-1c9ffaa55284\",\n                        \"title\": \"Services, options & price ranges · Edit (services.toggle-active)\",\n                        \"back_route_name\": \"services.toggle-active\",\n                        \"front_route_name\": \"services/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3877-7099-9ff9-34e9c2410d63\",\n                        \"title\": \"Services, options & price ranges · Edit (services.update)\",\n                        \"back_route_name\": \"services.update\",\n                        \"front_route_name\": \"services/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36ef-732e-85fa-f592a280a5fa\",\n                        \"title\": \"Services, options & price ranges · Delete (categories.destroy)\",\n                        \"back_route_name\": \"categories.destroy\",\n                        \"front_route_name\": \"categories/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37a7-70fa-997e-a04b8536296b\",\n                        \"title\": \"Services, options & price ranges · Delete (joshan.occasions.destroy)\",\n                        \"back_route_name\": \"joshan.occasions.destroy\",\n                        \"front_route_name\": \"joshan/occasions/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-386a-71ef-bcfc-30f471543dfb\",\n                        \"title\": \"Services, options & price ranges · Delete (services.destroy)\",\n                        \"back_route_name\": \"services.destroy\",\n                        \"front_route_name\": \"services/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Packages\": [\n                    {\n                        \"id\": \"01a1babb-37e7-7331-bd4b-fdc318aeebd4\",\n                        \"title\": \"Packages · View (packages.index)\",\n                        \"back_route_name\": \"packages.index\",\n                        \"front_route_name\": \"packages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37eb-72a7-bbd0-8ccce3abbffb\",\n                        \"title\": \"Packages · View (packages.show)\",\n                        \"back_route_name\": \"packages.show\",\n                        \"front_route_name\": \"packages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37e4-72c5-ae56-660e44ace8ed\",\n                        \"title\": \"Packages · Edit (packages.hide)\",\n                        \"back_route_name\": \"packages.hide\",\n                        \"front_route_name\": \"packages/hide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37ed-73f3-ab2d-87bea446fc9a\",\n                        \"title\": \"Packages · Edit (packages.unhide)\",\n                        \"back_route_name\": \"packages.unhide\",\n                        \"front_route_name\": \"packages/unhide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37e1-7230-87bd-08ecf8a417a4\",\n                        \"title\": \"Packages · Approve (packages.approve)\",\n                        \"back_route_name\": \"packages.approve\",\n                        \"front_route_name\": \"packages/approve\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37e8-73fa-930d-b46c15ec21b8\",\n                        \"title\": \"Packages · Approve (packages.reject)\",\n                        \"back_route_name\": \"packages.reject\",\n                        \"front_route_name\": \"packages/reject\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Orders\": [\n                    {\n                        \"id\": \"01a1babb-3727-7003-823f-42e019203e11\",\n                        \"title\": \"Orders · View (conversations.index)\",\n                        \"back_route_name\": \"conversations.index\",\n                        \"front_route_name\": \"conversations/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3729-717a-9c39-1445a4991f1f\",\n                        \"title\": \"Orders · View (conversations.show)\",\n                        \"back_route_name\": \"conversations.show\",\n                        \"front_route_name\": \"conversations/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37dc-7320-9384-cb9ef83672d6\",\n                        \"title\": \"Orders · View (orders.index)\",\n                        \"back_route_name\": \"orders.index\",\n                        \"front_route_name\": \"orders/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37df-734d-b1c9-8bf53f9da7b7\",\n                        \"title\": \"Orders · View (orders.show)\",\n                        \"back_route_name\": \"orders.show\",\n                        \"front_route_name\": \"orders/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Transportation monitoring\": [\n                    {\n                        \"id\": \"01a1babb-38a7-733d-bfdb-93614a2ba248\",\n                        \"title\": \"Transportation monitoring · View (trips.index)\",\n                        \"back_route_name\": \"trips.index\",\n                        \"front_route_name\": \"trips/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38aa-7244-9225-c040760dc152\",\n                        \"title\": \"Transportation monitoring · View (trips.show)\",\n                        \"back_route_name\": \"trips.show\",\n                        \"front_route_name\": \"trips/show\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Payments & coupons\": [\n                    {\n                        \"id\": \"01a1babb-3739-73cd-871e-e9b6e8342848\",\n                        \"title\": \"Payments & coupons · View (coupons.index)\",\n                        \"back_route_name\": \"coupons.index\",\n                        \"front_route_name\": \"coupons/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-373c-7335-bbfc-d952eb18cc98\",\n                        \"title\": \"Payments & coupons · View (coupons.redemptions)\",\n                        \"back_route_name\": \"coupons.redemptions\",\n                        \"front_route_name\": \"coupons/redemptions\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-373f-701c-bb96-0916736eabfa\",\n                        \"title\": \"Payments & coupons · View (coupons.show)\",\n                        \"back_route_name\": \"coupons.show\",\n                        \"front_route_name\": \"coupons/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37fb-7132-9b90-e9ae4f45f8c0\",\n                        \"title\": \"Payments & coupons · View (payments.index)\",\n                        \"back_route_name\": \"payments.index\",\n                        \"front_route_name\": \"payments/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37fe-71b5-8293-19eacae766b3\",\n                        \"title\": \"Payments & coupons · View (payments.show)\",\n                        \"back_route_name\": \"payments.show\",\n                        \"front_route_name\": \"payments/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3742-71b0-90d6-db3e12cb7d2a\",\n                        \"title\": \"Payments & coupons · Add (coupons.store)\",\n                        \"back_route_name\": \"coupons.store\",\n                        \"front_route_name\": \"coupons/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3744-716b-b0e1-ed70e734f92b\",\n                        \"title\": \"Payments & coupons · Edit (coupons.update)\",\n                        \"back_route_name\": \"coupons.update\",\n                        \"front_route_name\": \"coupons/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3737-73e0-bf2e-01f3559185ac\",\n                        \"title\": \"Payments & coupons · Delete (coupons.destroy)\",\n                        \"back_route_name\": \"coupons.destroy\",\n                        \"front_route_name\": \"coupons/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Commissions, amounts due & payouts\": [\n                    {\n                        \"id\": \"01a1babb-3712-73b6-8d82-870ec351ed9e\",\n                        \"title\": \"Commissions, amounts due & payouts · View (commission-rules.index)\",\n                        \"back_route_name\": \"commission-rules.index\",\n                        \"front_route_name\": \"commission-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3715-7208-ae82-3facb854b342\",\n                        \"title\": \"Commissions, amounts due & payouts · View (commission-rules.show)\",\n                        \"back_route_name\": \"commission-rules.show\",\n                        \"front_route_name\": \"commission-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3801-736b-8a89-b808f2960a77\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payout-balances.index)\",\n                        \"back_route_name\": \"payout-balances.index\",\n                        \"front_route_name\": \"payout-balances/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-380c-7331-86c5-c27f30fceef2\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payouts.index)\",\n                        \"back_route_name\": \"payouts.index\",\n                        \"front_route_name\": \"payouts/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3814-737b-b7bd-c63d51654fcb\",\n                        \"title\": \"Commissions, amounts due & payouts · View (payouts.show)\",\n                        \"back_route_name\": \"payouts.show\",\n                        \"front_route_name\": \"payouts/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3717-722a-a3b0-12d12cd4372b\",\n                        \"title\": \"Commissions, amounts due & payouts · Add (commission-rules.store)\",\n                        \"back_route_name\": \"commission-rules.store\",\n                        \"front_route_name\": \"commission-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3719-72fd-9911-0900aef0f0d6\",\n                        \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.toggle-active)\",\n                        \"back_route_name\": \"commission-rules.toggle-active\",\n                        \"front_route_name\": \"commission-rules/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-371b-711f-a599-e7c547076bd1\",\n                        \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.update)\",\n                        \"back_route_name\": \"commission-rules.update\",\n                        \"front_route_name\": \"commission-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-370f-7375-9e82-43954a9dcdd7\",\n                        \"title\": \"Commissions, amounts due & payouts · Delete (commission-rules.destroy)\",\n                        \"back_route_name\": \"commission-rules.destroy\",\n                        \"front_route_name\": \"commission-rules/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3803-73ab-8bf6-88e5bc753cca\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.bank-account)\",\n                        \"back_route_name\": \"payouts.bank-account\",\n                        \"front_route_name\": \"payouts/bank-account\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3806-73d1-955c-792826fd273b\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.cancel)\",\n                        \"back_route_name\": \"payouts.cancel\",\n                        \"front_route_name\": \"payouts/cancel\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3809-7396-b36a-e448144506ae\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.fail)\",\n                        \"back_route_name\": \"payouts.fail\",\n                        \"front_route_name\": \"payouts/fail\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-380f-701d-aa1a-dcfe2cae2704\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.paid)\",\n                        \"back_route_name\": \"payouts.paid\",\n                        \"front_route_name\": \"payouts/paid\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3811-7376-b03f-bc8d06691191\",\n                        \"title\": \"Commissions, amounts due & payouts · Approve (payouts.processing)\",\n                        \"back_route_name\": \"payouts.processing\",\n                        \"front_route_name\": \"payouts/processing\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Cancellations & refunds\": [\n                    {\n                        \"id\": \"01a1babb-36de-7136-a6d5-dfaf0da8a0c7\",\n                        \"title\": \"Cancellations & refunds · View (cancellation-rules.index)\",\n                        \"back_route_name\": \"cancellation-rules.index\",\n                        \"front_route_name\": \"cancellation-rules/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36e2-732c-b58a-971254fefb53\",\n                        \"title\": \"Cancellations & refunds · View (cancellation-rules.show)\",\n                        \"back_route_name\": \"cancellation-rules.show\",\n                        \"front_route_name\": \"cancellation-rules/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36ea-701b-b0c7-cffc78221548\",\n                        \"title\": \"Cancellations & refunds · View (cancellations.index)\",\n                        \"back_route_name\": \"cancellations.index\",\n                        \"front_route_name\": \"cancellations/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36ed-70df-aebb-cc0a24308763\",\n                        \"title\": \"Cancellations & refunds · View (cancellations.show)\",\n                        \"back_route_name\": \"cancellations.show\",\n                        \"front_route_name\": \"cancellations/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-382d-71c9-adeb-19b5006b3c37\",\n                        \"title\": \"Cancellations & refunds · View (refunds.index)\",\n                        \"back_route_name\": \"refunds.index\",\n                        \"front_route_name\": \"refunds/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-382f-73ca-86b6-af5779c482cc\",\n                        \"title\": \"Cancellations & refunds · View (refunds.show)\",\n                        \"back_route_name\": \"refunds.show\",\n                        \"front_route_name\": \"refunds/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36e4-72c8-8241-96f5ccb7a0b2\",\n                        \"title\": \"Cancellations & refunds · Add (cancellation-rules.store)\",\n                        \"back_route_name\": \"cancellation-rules.store\",\n                        \"front_route_name\": \"cancellation-rules/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3831-70c0-9489-9fcf70775582\",\n                        \"title\": \"Cancellations & refunds · Add (refunds.store)\",\n                        \"back_route_name\": \"refunds.store\",\n                        \"front_route_name\": \"refunds/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36e7-72c1-929a-3f308d1aa707\",\n                        \"title\": \"Cancellations & refunds · Edit (cancellation-rules.update)\",\n                        \"back_route_name\": \"cancellation-rules.update\",\n                        \"front_route_name\": \"cancellation-rules/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-36db-7330-816e-b2b910eff3c8\",\n                        \"title\": \"Cancellations & refunds · Delete (cancellation-rules.destroy)\",\n                        \"back_route_name\": \"cancellation-rules.destroy\",\n                        \"front_route_name\": \"cancellation-rules/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Featured subscriptions\": [\n                    {\n                        \"id\": \"01a1babb-3787-73de-a2bd-99ea7a6dc43c\",\n                        \"title\": \"Featured subscriptions · View (featured-plans.index)\",\n                        \"back_route_name\": \"featured-plans.index\",\n                        \"front_route_name\": \"featured-plans/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-378a-7343-8801-f7976ec879d9\",\n                        \"title\": \"Featured subscriptions · View (featured-plans.show)\",\n                        \"back_route_name\": \"featured-plans.show\",\n                        \"front_route_name\": \"featured-plans/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3791-70b8-86e9-464318e7db20\",\n                        \"title\": \"Featured subscriptions · View (featured-subscriptions.index)\",\n                        \"back_route_name\": \"featured-subscriptions.index\",\n                        \"front_route_name\": \"featured-subscriptions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3793-7333-a5fb-d70a1d9d16bd\",\n                        \"title\": \"Featured subscriptions · View (featured-subscriptions.show)\",\n                        \"back_route_name\": \"featured-subscriptions.show\",\n                        \"front_route_name\": \"featured-subscriptions/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-378c-72ae-85b6-eb0753e3983b\",\n                        \"title\": \"Featured subscriptions · Add (featured-plans.store)\",\n                        \"back_route_name\": \"featured-plans.store\",\n                        \"front_route_name\": \"featured-plans/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-378e-70e0-94f9-3873f37e70c6\",\n                        \"title\": \"Featured subscriptions · Edit (featured-plans.update)\",\n                        \"back_route_name\": \"featured-plans.update\",\n                        \"front_route_name\": \"featured-plans/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3784-713b-a53c-b26adc4139d9\",\n                        \"title\": \"Featured subscriptions · Delete (featured-plans.destroy)\",\n                        \"back_route_name\": \"featured-plans.destroy\",\n                        \"front_route_name\": \"featured-plans/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Ratings\": [\n                    {\n                        \"id\": \"01a1babb-3854-70a5-a3cc-fffed4a34a67\",\n                        \"title\": \"Ratings · View (reviews.index)\",\n                        \"back_route_name\": \"reviews.index\",\n                        \"front_route_name\": \"reviews/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3859-7289-94a5-7d4111ebe616\",\n                        \"title\": \"Ratings · View (reviews.show)\",\n                        \"back_route_name\": \"reviews.show\",\n                        \"front_route_name\": \"reviews/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3852-7075-a4ef-b9a85c1748ce\",\n                        \"title\": \"Ratings · Edit (reviews.hide)\",\n                        \"back_route_name\": \"reviews.hide\",\n                        \"front_route_name\": \"reviews/hide\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3856-7371-b6e1-b198d3918e2c\",\n                        \"title\": \"Ratings · Edit (reviews.publish)\",\n                        \"back_route_name\": \"reviews.publish\",\n                        \"front_route_name\": \"reviews/publish\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Banners & content\": [\n                    {\n                        \"id\": \"01a1babb-376b-7016-a6ae-2e190c2b882d\",\n                        \"title\": \"Banners & content · View (faqs.index)\",\n                        \"back_route_name\": \"faqs.index\",\n                        \"front_route_name\": \"faqs/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-376e-71fb-89f1-1067ad38d2ff\",\n                        \"title\": \"Banners & content · View (faqs.show)\",\n                        \"back_route_name\": \"faqs.show\",\n                        \"front_route_name\": \"faqs/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37d0-7232-a3fe-19cb63b84278\",\n                        \"title\": \"Banners & content · View (onboarding-slides.index)\",\n                        \"back_route_name\": \"onboarding-slides.index\",\n                        \"front_route_name\": \"onboarding-slides/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37d3-70b8-83c7-eca5bbbc9d77\",\n                        \"title\": \"Banners & content · View (onboarding-slides.show)\",\n                        \"back_route_name\": \"onboarding-slides.show\",\n                        \"front_route_name\": \"onboarding-slides/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f2-725e-b0c7-604b765e1b25\",\n                        \"title\": \"Banners & content · View (pages.index)\",\n                        \"back_route_name\": \"pages.index\",\n                        \"front_route_name\": \"pages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f5-705a-9f2b-ee884d24af0c\",\n                        \"title\": \"Banners & content · View (pages.show)\",\n                        \"back_route_name\": \"pages.show\",\n                        \"front_route_name\": \"pages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3880-7126-84f6-6a11e634b2af\",\n                        \"title\": \"Banners & content · View (sliders.index)\",\n                        \"back_route_name\": \"sliders.index\",\n                        \"front_route_name\": \"sliders/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3883-7064-b878-255d4cf3a040\",\n                        \"title\": \"Banners & content · View (sliders.show)\",\n                        \"back_route_name\": \"sliders.show\",\n                        \"front_route_name\": \"sliders/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3772-7150-95db-6712e274922b\",\n                        \"title\": \"Banners & content · Add (faqs.store)\",\n                        \"back_route_name\": \"faqs.store\",\n                        \"front_route_name\": \"faqs/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37d6-72af-8b51-eafe3e987a16\",\n                        \"title\": \"Banners & content · Add (onboarding-slides.store)\",\n                        \"back_route_name\": \"onboarding-slides.store\",\n                        \"front_route_name\": \"onboarding-slides/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f7-700c-9185-9aca33668b5a\",\n                        \"title\": \"Banners & content · Add (pages.store)\",\n                        \"back_route_name\": \"pages.store\",\n                        \"front_route_name\": \"pages/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3885-73b5-9c03-d56fe2043566\",\n                        \"title\": \"Banners & content · Add (sliders.store)\",\n                        \"back_route_name\": \"sliders.store\",\n                        \"front_route_name\": \"sliders/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3775-73fe-8ccf-f34b1c4f27c6\",\n                        \"title\": \"Banners & content · Edit (faqs.update)\",\n                        \"back_route_name\": \"faqs.update\",\n                        \"front_route_name\": \"faqs/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37d9-7220-a0da-d57753f25ef8\",\n                        \"title\": \"Banners & content · Edit (onboarding-slides.update)\",\n                        \"back_route_name\": \"onboarding-slides.update\",\n                        \"front_route_name\": \"onboarding-slides/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f9-7030-ac76-89bf019af0ce\",\n                        \"title\": \"Banners & content · Edit (pages.update)\",\n                        \"back_route_name\": \"pages.update\",\n                        \"front_route_name\": \"pages/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3887-7204-8b77-1031145303b6\",\n                        \"title\": \"Banners & content · Edit (sliders.update)\",\n                        \"back_route_name\": \"sliders.update\",\n                        \"front_route_name\": \"sliders/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3769-711c-b8e7-04fddca98c1a\",\n                        \"title\": \"Banners & content · Delete (faqs.destroy)\",\n                        \"back_route_name\": \"faqs.destroy\",\n                        \"front_route_name\": \"faqs/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37ce-73e4-b30d-7fbc3a1746e9\",\n                        \"title\": \"Banners & content · Delete (onboarding-slides.destroy)\",\n                        \"back_route_name\": \"onboarding-slides.destroy\",\n                        \"front_route_name\": \"onboarding-slides/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37f0-72e8-8f90-476d44b686ac\",\n                        \"title\": \"Banners & content · Delete (pages.destroy)\",\n                        \"back_route_name\": \"pages.destroy\",\n                        \"front_route_name\": \"pages/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-387e-71bb-93a3-07d5bd4daca5\",\n                        \"title\": \"Banners & content · Delete (sliders.destroy)\",\n                        \"back_route_name\": \"sliders.destroy\",\n                        \"front_route_name\": \"sliders/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Notifications\": [\n                    {\n                        \"id\": \"01a1babb-37b8-700a-8597-f4e0147b4a9f\",\n                        \"title\": \"Notifications · View (notifications.deliveries.index)\",\n                        \"back_route_name\": \"notifications.deliveries.index\",\n                        \"front_route_name\": \"notifications/deliveries/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37bb-73b8-9adb-494530ab6132\",\n                        \"title\": \"Notifications · View (notifications.general.index)\",\n                        \"back_route_name\": \"notifications.general.index\",\n                        \"front_route_name\": \"notifications/general/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37bf-71e6-a2ea-46387ea5a0a8\",\n                        \"title\": \"Notifications · View (notifications.general.show)\",\n                        \"back_route_name\": \"notifications.general.show\",\n                        \"front_route_name\": \"notifications/general/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37c4-738d-856f-1aa633aac9c3\",\n                        \"title\": \"Notifications · View (notifications.index)\",\n                        \"back_route_name\": \"notifications.index\",\n                        \"front_route_name\": \"notifications/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37c6-7217-bdea-da49bac41d63\",\n                        \"title\": \"Notifications · View (notifications.templates.index)\",\n                        \"back_route_name\": \"notifications.templates.index\",\n                        \"front_route_name\": \"notifications/templates/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37c9-71ff-b598-f8682cd067e7\",\n                        \"title\": \"Notifications · View (notifications.templates.show)\",\n                        \"back_route_name\": \"notifications.templates.show\",\n                        \"front_route_name\": \"notifications/templates/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37bd-73a9-b473-fa93752c61f3\",\n                        \"title\": \"Notifications · Add (notifications.general.retry)\",\n                        \"back_route_name\": \"notifications.general.retry\",\n                        \"front_route_name\": \"notifications/general/retry\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37c2-734f-8619-cab14e0becce\",\n                        \"title\": \"Notifications · Add (notifications.general.store)\",\n                        \"back_route_name\": \"notifications.general.store\",\n                        \"front_route_name\": \"notifications/general/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-37cb-73c3-be2a-e0b2df1b9abb\",\n                        \"title\": \"Notifications · Edit (notifications.templates.update)\",\n                        \"back_route_name\": \"notifications.templates.update\",\n                        \"front_route_name\": \"notifications/templates/edit\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Support & contact requests\": [\n                    {\n                        \"id\": \"01a1babb-3720-708d-8797-487a527f46e3\",\n                        \"title\": \"Support & contact requests · View (contact-messages.index)\",\n                        \"back_route_name\": \"contact-messages.index\",\n                        \"front_route_name\": \"contact-messages/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3725-71e5-880b-398cbb58157f\",\n                        \"title\": \"Support & contact requests · View (contact-messages.show)\",\n                        \"back_route_name\": \"contact-messages.show\",\n                        \"front_route_name\": \"contact-messages/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-389d-7225-8ba1-9a36f45061c8\",\n                        \"title\": \"Support & contact requests · View (support-tickets.index)\",\n                        \"back_route_name\": \"support-tickets.index\",\n                        \"front_route_name\": \"support-tickets/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38a2-705e-bd35-901e872c6a57\",\n                        \"title\": \"Support & contact requests · View (support-tickets.show)\",\n                        \"back_route_name\": \"support-tickets.show\",\n                        \"front_route_name\": \"support-tickets/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3722-724b-a71d-aaa30bcf5a46\",\n                        \"title\": \"Support & contact requests · Edit (contact-messages.reply)\",\n                        \"back_route_name\": \"contact-messages.reply\",\n                        \"front_route_name\": \"contact-messages/reply\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3898-701a-a036-70b845955e41\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.assign)\",\n                        \"back_route_name\": \"support-tickets.assign\",\n                        \"front_route_name\": \"support-tickets/assign\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-389b-7090-8064-d74e3500fe41\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.close)\",\n                        \"back_route_name\": \"support-tickets.close\",\n                        \"front_route_name\": \"support-tickets/close\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-389f-72a2-8ee3-c1bc2f656ef4\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.reply)\",\n                        \"back_route_name\": \"support-tickets.reply\",\n                        \"front_route_name\": \"support-tickets/reply\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-38a5-701a-b703-29f6456ad2b9\",\n                        \"title\": \"Support & contact requests · Edit (support-tickets.status)\",\n                        \"back_route_name\": \"support-tickets.status\",\n                        \"front_route_name\": \"support-tickets/status\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-371e-71cf-b7f5-ad029f7dc103\",\n                        \"title\": \"Support & contact requests · Delete (contact-messages.destroy)\",\n                        \"back_route_name\": \"contact-messages.destroy\",\n                        \"front_route_name\": \"contact-messages/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Reports & statistics\": [\n                    {\n                        \"id\": \"01a1babb-384d-71ce-8515-3e656650426e\",\n                        \"title\": \"Reports & statistics · View (reports.rankings)\",\n                        \"back_route_name\": \"reports.rankings\",\n                        \"front_route_name\": \"reports/rankings\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-384f-72e2-88bc-a3b27efa97ae\",\n                        \"title\": \"Reports & statistics · View (reports.summary)\",\n                        \"back_route_name\": \"reports.summary\",\n                        \"front_route_name\": \"reports/summary\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Platform settings\": [\n                    {\n                        \"id\": \"01a1babb-377d-71cd-bb9e-72213dd6a18a\",\n                        \"title\": \"Platform settings · View (feature-flags.index)\",\n                        \"back_route_name\": \"feature-flags.index\",\n                        \"front_route_name\": \"feature-flags/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-387a-7395-ad1c-bfa273f69010\",\n                        \"title\": \"Platform settings · View (settings.index)\",\n                        \"back_route_name\": \"settings.index\",\n                        \"front_route_name\": \"settings/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3778-706c-af11-877c17b165e4\",\n                        \"title\": \"Platform settings · Add (feature-flags.create)\",\n                        \"back_route_name\": \"feature-flags.create\",\n                        \"front_route_name\": \"feature-flags/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3780-7250-8cf2-abc2d0a9ae5f\",\n                        \"title\": \"Platform settings · Edit (feature-flags.toggle)\",\n                        \"back_route_name\": \"feature-flags.toggle\",\n                        \"front_route_name\": \"feature-flags/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3782-72e7-8930-542bb25ce3a3\",\n                        \"title\": \"Platform settings · Edit (feature-flags.update)\",\n                        \"back_route_name\": \"feature-flags.update\",\n                        \"front_route_name\": \"feature-flags/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-387c-7350-b7e5-3ba62c0ec53a\",\n                        \"title\": \"Platform settings · Edit (settings.update)\",\n                        \"back_route_name\": \"settings.update\",\n                        \"front_route_name\": \"settings/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-377b-70d4-9b61-49781a0825f2\",\n                        \"title\": \"Platform settings · Delete (feature-flags.delete)\",\n                        \"back_route_name\": \"feature-flags.delete\",\n                        \"front_route_name\": \"feature-flags/delete\",\n                        \"icon\": \"\"\n                    }\n                ],\n                \"Administrators & permissions\": [\n                    {\n                        \"id\": \"01a1babb-36d8-707b-b8f2-107aa6d5ad2b\",\n                        \"title\": \"Administrators & permissions · View (audit-logs.index)\",\n                        \"back_route_name\": \"audit-logs.index\",\n                        \"front_route_name\": \"audit-logs/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3816-719a-9c50-e89455b1941d\",\n                        \"title\": \"Administrators & permissions · View (permissions.index)\",\n                        \"back_route_name\": \"permissions.index\",\n                        \"front_route_name\": \"permissions/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-385e-70ea-801b-2239c3adddae\",\n                        \"title\": \"Administrators & permissions · View (roles.index)\",\n                        \"back_route_name\": \"roles.index\",\n                        \"front_route_name\": \"roles/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3861-72fb-9e86-066447d6c924\",\n                        \"title\": \"Administrators & permissions · View (roles.show)\",\n                        \"back_route_name\": \"roles.show\",\n                        \"front_route_name\": \"roles/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-388c-71d5-8e51-4588aea662cd\",\n                        \"title\": \"Administrators & permissions · View (supervisors.index)\",\n                        \"back_route_name\": \"supervisors.index\",\n                        \"front_route_name\": \"supervisors/show-all\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-388e-7177-a0c8-37df07c4c028\",\n                        \"title\": \"Administrators & permissions · View (supervisors.show)\",\n                        \"back_route_name\": \"supervisors.show\",\n                        \"front_route_name\": \"supervisors/show\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3863-7151-8707-7ed602c91e1b\",\n                        \"title\": \"Administrators & permissions · Add (roles.store)\",\n                        \"back_route_name\": \"roles.store\",\n                        \"front_route_name\": \"roles/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3891-72b6-bb0d-15966a680e15\",\n                        \"title\": \"Administrators & permissions · Add (supervisors.store)\",\n                        \"back_route_name\": \"supervisors.store\",\n                        \"front_route_name\": \"supervisors/add\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3865-708d-8af9-a57793d83b49\",\n                        \"title\": \"Administrators & permissions · Edit (roles.toggle-active)\",\n                        \"back_route_name\": \"roles.toggle-active\",\n                        \"front_route_name\": \"roles/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3868-72d8-ac6e-1ce8cbf3563f\",\n                        \"title\": \"Administrators & permissions · Edit (roles.update)\",\n                        \"back_route_name\": \"roles.update\",\n                        \"front_route_name\": \"roles/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3894-71fc-afbc-667c3e4239c5\",\n                        \"title\": \"Administrators & permissions · Edit (supervisors.toggle-active)\",\n                        \"back_route_name\": \"supervisors.toggle-active\",\n                        \"front_route_name\": \"supervisors/toggle-active\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-3896-7008-b99d-edbe7a4c708e\",\n                        \"title\": \"Administrators & permissions · Edit (supervisors.update)\",\n                        \"back_route_name\": \"supervisors.update\",\n                        \"front_route_name\": \"supervisors/edit\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-385c-73c9-af93-ff29381ecab4\",\n                        \"title\": \"Administrators & permissions · Delete (roles.destroy)\",\n                        \"back_route_name\": \"roles.destroy\",\n                        \"front_route_name\": \"roles/delete\",\n                        \"icon\": \"\"\n                    },\n                    {\n                        \"id\": \"01a1babb-388a-716b-945a-bf7b68ae1289\",\n                        \"title\": \"Administrators & permissions · Delete (supervisors.destroy)\",\n                        \"back_route_name\": \"supervisors.destroy\",\n                        \"front_route_name\": \"supervisors/delete\",\n                        \"icon\": \"\"\n                    }\n                ]\n            },\n            \"user_type\": {\n                \"value\": \"super_admin\",\n                \"label\": \"Super admin\"\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "profile"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.profile.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `full_name`\n- **Description:** Admin display name, up to 100 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Huda Al-Harbi`\n- **Validation rules:** `sometimes|string|max:100`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `email`\n- **Description:** Sign-in e-mail, unique across users.\n- **Type:** `string (email)`\n- **Required:** optional\n- **Example:** `huda@example.com`\n- **Validation rules:** `sometimes|email|unique:users,email,\"1\",id`\n- `sometimes` — validated only when the field is present.\n- `email` — must be a valid email address.\n- `unique:users,email,\"1\",id` — must be unique (users, email, \"1\", id).\n### `phone`\n- **Description:** Mobile number, up to 20 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `551234567`\n- **Validation rules:** `sometimes|string|max:20`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `phone_code`\n- **Description:** Dialling code of the number, for example +966.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `+966`\n- **Validation rules:** `nullable|string|max:5`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:5` — must not exceed 5.\n### `birth_date`\n- **Description:** Date of birth, YYYY-MM-DD.\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `1990-05-20`\n- **Validation rules:** `nullable|date`\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `locale`\n- **Description:** Dashboard language, `ar` or `en`.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `ar`\n- **Validation rules:** `nullable|string|max:10`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:10` — must not exceed 10.\n### `image`\n- **Description:** Profile photo: the `hash` returned by the media upload; null clears it (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `nullable|string|custom:MediaExists`\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Profile Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Profile Update Invalid Email\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Profile updated successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-38b7-7122-aea5-b74925c66cbf\",\n        \"role\": null,\n        \"name\": \"Noura Al-Qahtani\",\n        \"email\": \"tamara.wyman@example.net\",\n        \"phone_code\": \"966\",\n        \"phone\": \"583641380\",\n        \"country\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"guarantees_female_gender\": true,\n        \"accept_policies\": true,\n        \"accept_terms\": true,\n        \"birth_date\": null,\n        \"user_type\": \"Super Admin\",\n        \"is_active\": true,\n        \"is_verified\": false,\n        \"is_banned\": false,\n        \"is_suspended\": false,\n        \"settings\": {\n            \"locale\": \"ar\",\n            \"allow_notifications\": true\n        },\n        \"location\": {\n            \"lat\": 0,\n            \"lng\": 0\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone\": \"551234567\",\n    \"phone_code\": \"+966\",\n    \"birth_date\": \"1990-05-20\",\n    \"locale\": \"ar\",\n    \"image\": null\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Profile Updated",
                                            "_joshen": {
                                                "route": "admin.profile.update",
                                                "name": "Profile Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/profile",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Noura Al-Qahtani",
                                                        "locale": "ar"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_profile_and_session_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Noura Al-Qahtani\",\n    \"locale\": \"ar\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Profile updated successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-38b7-7122-aea5-b74925c66cbf\",\n        \"role\": null,\n        \"name\": \"Noura Al-Qahtani\",\n        \"email\": \"tamara.wyman@example.net\",\n        \"phone_code\": \"966\",\n        \"phone\": \"583641380\",\n        \"country\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"guarantees_female_gender\": true,\n        \"accept_policies\": true,\n        \"accept_terms\": true,\n        \"birth_date\": null,\n        \"user_type\": \"Super Admin\",\n        \"is_active\": true,\n        \"is_verified\": false,\n        \"is_banned\": false,\n        \"is_suspended\": false,\n        \"settings\": {\n            \"locale\": \"ar\",\n            \"allow_notifications\": true\n        },\n        \"location\": {\n            \"lat\": 0,\n            \"lng\": 0\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone\": \"551234567\",\n    \"phone_code\": \"+966\",\n    \"birth_date\": \"1990-05-20\",\n    \"locale\": \"ar\",\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone\": \"551234567\",\n    \"phone_code\": \"+966\",\n    \"birth_date\": \"1990-05-20\",\n    \"locale\": \"ar\",\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone\": \"551234567\",\n    \"phone_code\": \"+966\",\n    \"birth_date\": \"1990-05-20\",\n    \"locale\": \"ar\",\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Profile Update Invalid Email",
                                            "_joshen": {
                                                "route": "admin.profile.update",
                                                "name": "Profile Update Invalid Email",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/profile",
                                                    "query": null,
                                                    "body": {
                                                        "email": "not-an-email"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_profile_and_session_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"email\": \"not-an-email\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Email field must be a valid email address.\",\n    \"data\": {\n        \"errors\": {\n            \"email\": [\n                \"The Email field must be a valid email address.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Change Password",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/profile/change-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "profile",
                                                "change-password"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.profile.change-password`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `current_password`\n- **Description:** The password the admin signs in with today; wrong values are refused.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Password123!`\n- **Validation rules:** `required|string`\n- `required` — must be provided.\n- `string` — must be text.\n### `password`\n- **Description:** New password, at least 8 characters; must be repeated in `password_confirmation`.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `new-secret-1`\n- **Validation rules:** `required|string|min:8|confirmed`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:8` — must be at least 8.\n- `confirmed` — requires a matching *_confirmation field.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Profile Password Changed\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Profile Password Confirmation Missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Password changed successfully\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"current_password\": \"Password123!\",\n    \"password\": \"new-secret-1\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Profile Password Changed",
                                            "_joshen": {
                                                "route": "admin.profile.change-password",
                                                "name": "Profile Password Changed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/profile/change-password",
                                                    "query": null,
                                                    "body": {
                                                        "current_password": "secret-pass-1",
                                                        "password": "new-secret-1",
                                                        "password_confirmation": "new-secret-1"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_profile_and_session_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile/change-password",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile",
                                                        "change-password"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"current_password\": \"secret-pass-1\",\n    \"password\": \"new-secret-1\",\n    \"password_confirmation\": \"new-secret-1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Password changed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile/change-password",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile",
                                                        "change-password"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"current_password\": \"Password123!\",\n    \"password\": \"new-secret-1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile/change-password",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile",
                                                        "change-password"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"current_password\": \"Password123!\",\n    \"password\": \"new-secret-1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile/change-password",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile",
                                                        "change-password"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"current_password\": \"Password123!\",\n    \"password\": \"new-secret-1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Profile Password Confirmation Missing",
                                            "_joshen": {
                                                "route": "admin.profile.change-password",
                                                "name": "Profile Password Confirmation Missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/profile/change-password",
                                                    "query": null,
                                                    "body": {
                                                        "current_password": "secret-pass-1",
                                                        "password": "new-secret-1"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_001_profile_and_session_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/profile/change-password",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "profile",
                                                        "change-password"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"current_password\": \"secret-pass-1\",\n    \"password\": \"new-secret-1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The New Password field confirmation does not match.\",\n    \"data\": {\n        \"errors\": {\n            \"password\": [\n                \"The New Password field confirmation does not match.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Communication",
                    "item": [
                        {
                            "name": "Notifications",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"notification_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "app",
                                                    "value": "customer",
                                                    "description": "Filter by recipient app: `customer`, `provider`, `driver`, or `admin` (dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "audience",
                                                    "value": "customer",
                                                    "description": "Alias for app: `customer`, `provider`, `driver`, or `admin`. — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "event_key",
                                                    "value": "order_confirmed",
                                                    "description": "Filter by notification scenario event key (e.g. `order_confirmed`, `chat_message`). — `string (enum)`, one of: `account_review_status_changed`, `profile_change_approved`, `profile_change_rejected`, `provider_category_reviewed`, `package_reviewed`, `package_purchased`, `order_request_received`, `order_accepted_awaiting_payment`, `order_rejected`, `order_expired`, `order_confirmed`, `order_status_changed`, `order_cancelled`, `order_delayed`, `trip_no_driver`, `trip_offer_received`, `trip_driver_accepted`, `trip_driver_approaching`, `trip_driver_arrived_provider`, `trip_provider_picked_up`, `trip_driver_arrived_customer`, `trip_cancelled`, `featured_subscription_activated`, `featured_payment_failed`, `featured_subscription_expiring`, `featured_subscription_expired`, `payout_paid`, `payout_cancelled`, `payout_failed`, `support_ticket_replied`, `support_ticket_status_changed`, `user_registered`, `booking_reminder`, `order_status_update_reminder`, `account_document_expiring`, `order_payment_succeeded`, `order_payment_failed`, `order_rating_requested`, `wallet_refund_credited`, `trip_completed`, `earning_recorded`, `driver_rated`, `driver_nearby_demand`, `general`, `withdraw_request_created`, `withdraw_request_approved`, `withdraw_request_rejected`, `chat_message`, `admin_account_submitted`, `admin_category_requested`, `admin_package_submitted`, `admin_support_ticket_opened`, `admin_support_ticket_replied`, `admin_contact_message_received`, `admin_payout_requested`, `admin_provider_change_requested`, `admin_driver_change_requested`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "channel",
                                                    "value": "push",
                                                    "description": "Filter by delivery channel: `in_app`, `push`, `sms`, `whatsapp`. — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "delivered",
                                                    "description": "Filter by channel delivery status: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`. — `string (enum)`, one of: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Sarah",
                                                    "description": "Search term across notification title, body, user full_name, phone, email, and order code. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "from",
                                                    "value": "2026-11-01",
                                                    "description": "Filter notifications created on or after date (YYYY-MM-DD). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "to",
                                                    "value": "2026-11-04",
                                                    "description": "Filter notifications created on or before date (YYYY-MM-DD). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "created_from",
                                                    "value": "2026-11-01",
                                                    "description": "Alias for `from`: notifications created on or after date (YYYY-MM-DD). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "created_to",
                                                    "value": "2026-11-04",
                                                    "description": "Alias for `to`: notifications created on or before date (YYYY-MM-DD). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "20",
                                                    "description": "Items per page (max: 100, default: 20). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `app` — Filter by recipient app: `customer`, `provider`, `driver`, or `admin` (dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin` (optional)\n- `audience` — Alias for app: `customer`, `provider`, `driver`, or `admin`. — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin` (optional)\n- `event_key` — Filter by notification scenario event key (e.g. `order_confirmed`, `chat_message`). — `string (enum)`, one of: `account_review_status_changed`, `profile_change_approved`, `profile_change_rejected`, `provider_category_reviewed`, `package_reviewed`, `package_purchased`, `order_request_received`, `order_accepted_awaiting_payment`, `order_rejected`, `order_expired`, `order_confirmed`, `order_status_changed`, `order_cancelled`, `order_delayed`, `trip_no_driver`, `trip_offer_received`, `trip_driver_accepted`, `trip_driver_approaching`, `trip_driver_arrived_provider`, `trip_provider_picked_up`, `trip_driver_arrived_customer`, `trip_cancelled`, `featured_subscription_activated`, `featured_payment_failed`, `featured_subscription_expiring`, `featured_subscription_expired`, `payout_paid`, `payout_cancelled`, `payout_failed`, `support_ticket_replied`, `support_ticket_status_changed`, `user_registered`, `booking_reminder`, `order_status_update_reminder`, `account_document_expiring`, `order_payment_succeeded`, `order_payment_failed`, `order_rating_requested`, `wallet_refund_credited`, `trip_completed`, `earning_recorded`, `driver_rated`, `driver_nearby_demand`, `general`, `withdraw_request_created`, `withdraw_request_approved`, `withdraw_request_rejected`, `chat_message`, `admin_account_submitted`, `admin_category_requested`, `admin_package_submitted`, `admin_support_ticket_opened`, `admin_support_ticket_replied`, `admin_contact_message_received`, `admin_payout_requested`, `admin_provider_change_requested`, `admin_driver_change_requested` (optional)\n- `channel` — Filter by delivery channel: `in_app`, `push`, `sms`, `whatsapp`. — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp` (optional)\n- `status` — Filter by channel delivery status: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`. — `string (enum)`, one of: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued` (optional)\n- `search` — Search term across notification title, body, user full_name, phone, email, and order code. — `string` (optional)\n- `from` — Filter notifications created on or after date (YYYY-MM-DD). — `string (date)` (optional)\n- `to` — Filter notifications created on or before date (YYYY-MM-DD). — `string (date)` (optional)\n- `created_from` — Alias for `from`: notifications created on or after date (YYYY-MM-DD). — `string (date)` (optional)\n- `created_to` — Alias for `to`: notifications created on or before date (YYYY-MM-DD). — `string (date)` (optional)\n- `per_page` — Items per page (max: 100, default: 20). — `integer` (optional)\n- `page` — Page number. — `integer` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `notification_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` 200 List in-app notifications for admin\n- `200` 200 List notifications monitor for admin\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` 422 Invalid notification monitor filter parameters\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Notifications retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1a6d7-273c-730d-a674-48ec0901898f\",\n                \"event_key\": \"order_confirmed\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"Order Confirmed\",\n                \"body\": \"Booking confirmed\",\n                \"is_read\": false,\n                \"read_at\": null,\n                \"created_at\": \"2026-11-04T13:54:40+00:00\",\n                \"user\": {\n                    \"id\": \"01a1a6d7-272f-71db-9fab-e074db8009bb\",\n                    \"name\": null,\n                    \"phone\": \"966500000001\"\n                },\n                \"recipient\": {\n                    \"id\": \"01a1a6d7-272f-71db-9fab-e074db8009bb\",\n                    \"name\": null,\n                    \"full_name\": \"Barton Schaden Sr.\",\n                    \"phone\": \"966500000001\",\n                    \"email\": \"becker.nikolas@example.org\"\n                },\n                \"order\": null,\n                \"template\": null,\n                \"deliveries\": [\n                    {\n                        \"id\": \"01a1a6d7-273e-71b7-9590-96ba20e2f041\",\n                        \"channel\": {\n                            \"value\": \"in_app\",\n                            \"label\": \"In-App\"\n                        },\n                        \"status\": {\n                            \"value\": \"sent\",\n                            \"label\": \"Sent\"\n                        },\n                        \"provider_ref\": null,\n                        \"error\": null,\n                        \"error_message\": null,\n                        \"sent_at\": \"2026-11-04T13:54:40+00:00\",\n                        \"delivered_at\": \"2026-11-04T13:54:40+00:00\",\n                        \"latency_ms\": 1\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1a6d7-2738-70eb-9742-97c38a3b742e\",\n                \"event_key\": \"user_registered\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"أهلاً بكِ في جوشن! 🌸\",\n                \"body\": \"مرحباً بكِ Barton Schaden Sr. في منصة جوشن لخدمات العناية والتجميل.\",\n                \"is_read\": false,\n                \"read_at\": null,\n                \"created_at\": \"2026-11-04T13:54:40+00:00\",\n                \"user\": {\n                    \"id\": \"01a1a6d7-272f-71db-9fab-e074db8009bb\",\n                    \"name\": null,\n                    \"phone\": \"966500000001\"\n                },\n                \"recipient\": {\n                    \"id\": \"01a1a6d7-272f-71db-9fab-e074db8009bb\",\n                    \"name\": null,\n                    \"full_name\": \"Barton Schaden Sr.\",\n                    \"phone\": \"966500000001\",\n                    \"email\": \"becker.nikolas@example.org\"\n                },\n                \"order\": null,\n                \"template\": {\n                    \"id\": \"01a1a6d6-fe16-7066-ad7b-54a76fcb4ff9\",\n                    \"event_key\": \"user_registered\",\n                    \"audience\": \"customer\",\n                    \"is_active\": true\n                },\n                \"deliveries\": [\n                    {\n                        \"id\": \"01a1a6d7-273b-71d8-b163-cf2dee02ac65\",\n                        \"channel\": {\n                            \"value\": \"in_app\",\n                            \"label\": \"In-App\"\n                        },\n                        \"status\": {\n                            \"value\": \"sent\",\n                            \"label\": \"Sent\"\n                        },\n                        \"provider_ref\": null,\n                        \"error\": null,\n                        \"error_message\": null,\n                        \"sent_at\": \"2026-11-04T13:54:40+00:00\",\n                        \"delivered_at\": \"2026-11-04T13:54:40+00:00\",\n                        \"latency_ms\": 2\n                    }\n                ]\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications\",\n            \"per_page\": 20,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 200 List in-app notifications for admin",
                                            "_joshen": {
                                                "route": "admin.notifications.index",
                                                "name": "200 List in-app notifications for admin",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationDeliveryLogTest::test_ac_admin_020_admin_notifications_index_returns_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notifications retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1a6d7-273c-730d-a674-48ec0901898f\",\n                \"event_key\": \"order_confirmed\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"Order Confirmed\",\n                \"body\": \"Booking confirmed\",\n                \"is_read\": false,\n                \"read_at\": null,\n                \"created_at\": \"2026-11-04T13:54:40+00:00\",\n                \"user\": {\n                    \"id\": \"01a1a6d7-272f-71db-9fab-e074db8009bb\",\n                    \"name\": null,\n                    \"phone\": \"966500000001\"\n                },\n                \"recipient\": {\n                    \"id\": \"01a1a6d7-272f-71db-9fab-e074db8009bb\",\n                    \"name\": null,\n                    \"full_name\": \"Barton Schaden Sr.\",\n                    \"phone\": \"966500000001\",\n                    \"email\": \"becker.nikolas@example.org\"\n                },\n                \"order\": null,\n                \"template\": null,\n                \"deliveries\": [\n                    {\n                        \"id\": \"01a1a6d7-273e-71b7-9590-96ba20e2f041\",\n                        \"channel\": {\n                            \"value\": \"in_app\",\n                            \"label\": \"In-App\"\n                        },\n                        \"status\": {\n                            \"value\": \"sent\",\n                            \"label\": \"Sent\"\n                        },\n                        \"provider_ref\": null,\n                        \"error\": null,\n                        \"error_message\": null,\n                        \"sent_at\": \"2026-11-04T13:54:40+00:00\",\n                        \"delivered_at\": \"2026-11-04T13:54:40+00:00\",\n                        \"latency_ms\": 1\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1a6d7-2738-70eb-9742-97c38a3b742e\",\n                \"event_key\": \"user_registered\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"أهلاً بكِ في جوشن! 🌸\",\n                \"body\": \"مرحباً بكِ Barton Schaden Sr. في منصة جوشن لخدمات العناية والتجميل.\",\n                \"is_read\": false,\n                \"read_at\": null,\n                \"created_at\": \"2026-11-04T13:54:40+00:00\",\n                \"user\": {\n                    \"id\": \"01a1a6d7-272f-71db-9fab-e074db8009bb\",\n                    \"name\": null,\n                    \"phone\": \"966500000001\"\n                },\n                \"recipient\": {\n                    \"id\": \"01a1a6d7-272f-71db-9fab-e074db8009bb\",\n                    \"name\": null,\n                    \"full_name\": \"Barton Schaden Sr.\",\n                    \"phone\": \"966500000001\",\n                    \"email\": \"becker.nikolas@example.org\"\n                },\n                \"order\": null,\n                \"template\": {\n                    \"id\": \"01a1a6d6-fe16-7066-ad7b-54a76fcb4ff9\",\n                    \"event_key\": \"user_registered\",\n                    \"audience\": \"customer\",\n                    \"is_active\": true\n                },\n                \"deliveries\": [\n                    {\n                        \"id\": \"01a1a6d7-273b-71d8-b163-cf2dee02ac65\",\n                        \"channel\": {\n                            \"value\": \"in_app\",\n                            \"label\": \"In-App\"\n                        },\n                        \"status\": {\n                            \"value\": \"sent\",\n                            \"label\": \"Sent\"\n                        },\n                        \"provider_ref\": null,\n                        \"error\": null,\n                        \"error_message\": null,\n                        \"sent_at\": \"2026-11-04T13:54:40+00:00\",\n                        \"delivered_at\": \"2026-11-04T13:54:40+00:00\",\n                        \"latency_ms\": 2\n                    }\n                ]\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications\",\n            \"per_page\": 20,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 200 List notifications monitor for admin",
                                            "_joshen": {
                                                "route": "admin.notifications.index",
                                                "name": "200 List notifications monitor for admin",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications",
                                                    "query": {
                                                        "audience": "customer",
                                                        "event_key": "order_confirmed",
                                                        "channel": "push",
                                                        "status": "delivered"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationEventTriggersTest::test_ac_admin_020_notification_monitor_listing_and_filtering"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications?audience=customer&event_key=order_confirmed&channel=push&status=delivered",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "audience",
                                                            "value": "customer"
                                                        },
                                                        {
                                                            "key": "event_key",
                                                            "value": "order_confirmed"
                                                        },
                                                        {
                                                            "key": "channel",
                                                            "value": "push"
                                                        },
                                                        {
                                                            "key": "status",
                                                            "value": "delivered"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notifications retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1bb7a-325d-71d7-8891-0e082ef29bb5\",\n                \"event_key\": \"order_confirmed\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"Order Confirmed\",\n                \"body\": \"Booking confirmed\",\n                \"is_read\": false,\n                \"read_at\": null,\n                \"created_at\": \"2026-11-08T14:05:10+00:00\",\n                \"user\": {\n                    \"id\": \"01a1bb7a-324d-701d-9435-3fb772cae51d\",\n                    \"name\": null,\n                    \"phone\": \"500000001\"\n                },\n                \"recipient\": {\n                    \"id\": \"01a1bb7a-324d-701d-9435-3fb772cae51d\",\n                    \"name\": null,\n                    \"full_name\": \"Claude Renner DVM\",\n                    \"phone\": \"500000001\",\n                    \"email\": \"jbaumbach@example.net\"\n                },\n                \"order\": null,\n                \"template\": null,\n                \"deliveries\": [\n                    {\n                        \"id\": \"01a1bb7a-3260-7242-afc2-9d6d9e93ca52\",\n                        \"channel\": {\n                            \"value\": \"in_app\",\n                            \"label\": \"In-App\"\n                        },\n                        \"status\": {\n                            \"value\": \"sent\",\n                            \"label\": \"Sent\"\n                        },\n                        \"provider_ref\": null,\n                        \"error\": null,\n                        \"error_message\": null,\n                        \"sent_at\": \"2026-11-08T14:05:10+00:00\",\n                        \"delivered_at\": \"2026-11-08T14:05:10+00:00\",\n                        \"latency_ms\": 1\n                    },\n                    {\n                        \"id\": \"01a1bb7a-3261-7219-8765-01691df73a31\",\n                        \"channel\": {\n                            \"value\": \"push\",\n                            \"label\": \"Push Notification\"\n                        },\n                        \"status\": {\n                            \"value\": \"delivered\",\n                            \"label\": \"Delivered\"\n                        },\n                        \"provider_ref\": null,\n                        \"error\": null,\n                        \"error_message\": null,\n                        \"sent_at\": \"2026-11-08T14:05:10+00:00\",\n                        \"delivered_at\": \"2026-11-08T14:05:10+00:00\",\n                        \"latency_ms\": 3\n                    }\n                ]\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications\",\n            \"per_page\": 20,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "app",
                                                            "value": "customer",
                                                            "description": "Filter by recipient app: `customer`, `provider`, `driver`, or `admin` (dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "audience",
                                                            "value": "customer",
                                                            "description": "Alias for app: `customer`, `provider`, `driver`, or `admin`. — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "event_key",
                                                            "value": "order_confirmed",
                                                            "description": "Filter by notification scenario event key (e.g. `order_confirmed`, `chat_message`). — `string (enum)`, one of: `account_review_status_changed`, `profile_change_approved`, `profile_change_rejected`, `provider_category_reviewed`, `package_reviewed`, `package_purchased`, `order_request_received`, `order_accepted_awaiting_payment`, `order_rejected`, `order_expired`, `order_confirmed`, `order_status_changed`, `order_cancelled`, `order_delayed`, `trip_no_driver`, `trip_offer_received`, `trip_driver_accepted`, `trip_driver_approaching`, `trip_driver_arrived_provider`, `trip_provider_picked_up`, `trip_driver_arrived_customer`, `trip_cancelled`, `featured_subscription_activated`, `featured_payment_failed`, `featured_subscription_expiring`, `featured_subscription_expired`, `payout_paid`, `payout_cancelled`, `payout_failed`, `support_ticket_replied`, `support_ticket_status_changed`, `user_registered`, `booking_reminder`, `order_status_update_reminder`, `account_document_expiring`, `order_payment_succeeded`, `order_payment_failed`, `order_rating_requested`, `wallet_refund_credited`, `trip_completed`, `earning_recorded`, `driver_rated`, `driver_nearby_demand`, `general`, `withdraw_request_created`, `withdraw_request_approved`, `withdraw_request_rejected`, `chat_message`, `admin_account_submitted`, `admin_category_requested`, `admin_package_submitted`, `admin_support_ticket_opened`, `admin_support_ticket_replied`, `admin_contact_message_received`, `admin_payout_requested`, `admin_provider_change_requested`, `admin_driver_change_requested`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "channel",
                                                            "value": "push",
                                                            "description": "Filter by delivery channel: `in_app`, `push`, `sms`, `whatsapp`. — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "status",
                                                            "value": "delivered",
                                                            "description": "Filter by channel delivery status: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`. — `string (enum)`, one of: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Sarah",
                                                            "description": "Search term across notification title, body, user full_name, phone, email, and order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "from",
                                                            "value": "2026-11-01",
                                                            "description": "Filter notifications created on or after date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-11-04",
                                                            "description": "Filter notifications created on or before date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "created_from",
                                                            "value": "2026-11-01",
                                                            "description": "Alias for `from`: notifications created on or after date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "created_to",
                                                            "value": "2026-11-04",
                                                            "description": "Alias for `to`: notifications created on or before date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "20",
                                                            "description": "Items per page (max: 100, default: 20). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "app",
                                                            "value": "customer",
                                                            "description": "Filter by recipient app: `customer`, `provider`, `driver`, or `admin` (dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "audience",
                                                            "value": "customer",
                                                            "description": "Alias for app: `customer`, `provider`, `driver`, or `admin`. — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "event_key",
                                                            "value": "order_confirmed",
                                                            "description": "Filter by notification scenario event key (e.g. `order_confirmed`, `chat_message`). — `string (enum)`, one of: `account_review_status_changed`, `profile_change_approved`, `profile_change_rejected`, `provider_category_reviewed`, `package_reviewed`, `package_purchased`, `order_request_received`, `order_accepted_awaiting_payment`, `order_rejected`, `order_expired`, `order_confirmed`, `order_status_changed`, `order_cancelled`, `order_delayed`, `trip_no_driver`, `trip_offer_received`, `trip_driver_accepted`, `trip_driver_approaching`, `trip_driver_arrived_provider`, `trip_provider_picked_up`, `trip_driver_arrived_customer`, `trip_cancelled`, `featured_subscription_activated`, `featured_payment_failed`, `featured_subscription_expiring`, `featured_subscription_expired`, `payout_paid`, `payout_cancelled`, `payout_failed`, `support_ticket_replied`, `support_ticket_status_changed`, `user_registered`, `booking_reminder`, `order_status_update_reminder`, `account_document_expiring`, `order_payment_succeeded`, `order_payment_failed`, `order_rating_requested`, `wallet_refund_credited`, `trip_completed`, `earning_recorded`, `driver_rated`, `driver_nearby_demand`, `general`, `withdraw_request_created`, `withdraw_request_approved`, `withdraw_request_rejected`, `chat_message`, `admin_account_submitted`, `admin_category_requested`, `admin_package_submitted`, `admin_support_ticket_opened`, `admin_support_ticket_replied`, `admin_contact_message_received`, `admin_payout_requested`, `admin_provider_change_requested`, `admin_driver_change_requested`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "channel",
                                                            "value": "push",
                                                            "description": "Filter by delivery channel: `in_app`, `push`, `sms`, `whatsapp`. — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "status",
                                                            "value": "delivered",
                                                            "description": "Filter by channel delivery status: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`. — `string (enum)`, one of: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Sarah",
                                                            "description": "Search term across notification title, body, user full_name, phone, email, and order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "from",
                                                            "value": "2026-11-01",
                                                            "description": "Filter notifications created on or after date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-11-04",
                                                            "description": "Filter notifications created on or before date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "created_from",
                                                            "value": "2026-11-01",
                                                            "description": "Alias for `from`: notifications created on or after date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "created_to",
                                                            "value": "2026-11-04",
                                                            "description": "Alias for `to`: notifications created on or before date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "20",
                                                            "description": "Items per page (max: 100, default: 20). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "app",
                                                            "value": "customer",
                                                            "description": "Filter by recipient app: `customer`, `provider`, `driver`, or `admin` (dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "audience",
                                                            "value": "customer",
                                                            "description": "Alias for app: `customer`, `provider`, `driver`, or `admin`. — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "event_key",
                                                            "value": "order_confirmed",
                                                            "description": "Filter by notification scenario event key (e.g. `order_confirmed`, `chat_message`). — `string (enum)`, one of: `account_review_status_changed`, `profile_change_approved`, `profile_change_rejected`, `provider_category_reviewed`, `package_reviewed`, `package_purchased`, `order_request_received`, `order_accepted_awaiting_payment`, `order_rejected`, `order_expired`, `order_confirmed`, `order_status_changed`, `order_cancelled`, `order_delayed`, `trip_no_driver`, `trip_offer_received`, `trip_driver_accepted`, `trip_driver_approaching`, `trip_driver_arrived_provider`, `trip_provider_picked_up`, `trip_driver_arrived_customer`, `trip_cancelled`, `featured_subscription_activated`, `featured_payment_failed`, `featured_subscription_expiring`, `featured_subscription_expired`, `payout_paid`, `payout_cancelled`, `payout_failed`, `support_ticket_replied`, `support_ticket_status_changed`, `user_registered`, `booking_reminder`, `order_status_update_reminder`, `account_document_expiring`, `order_payment_succeeded`, `order_payment_failed`, `order_rating_requested`, `wallet_refund_credited`, `trip_completed`, `earning_recorded`, `driver_rated`, `driver_nearby_demand`, `general`, `withdraw_request_created`, `withdraw_request_approved`, `withdraw_request_rejected`, `chat_message`, `admin_account_submitted`, `admin_category_requested`, `admin_package_submitted`, `admin_support_ticket_opened`, `admin_support_ticket_replied`, `admin_contact_message_received`, `admin_payout_requested`, `admin_provider_change_requested`, `admin_driver_change_requested`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "channel",
                                                            "value": "push",
                                                            "description": "Filter by delivery channel: `in_app`, `push`, `sms`, `whatsapp`. — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "status",
                                                            "value": "delivered",
                                                            "description": "Filter by channel delivery status: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`. — `string (enum)`, one of: `delivered`, `failed`, `skipped`, `pending`, `sent`, `queued`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Sarah",
                                                            "description": "Search term across notification title, body, user full_name, phone, email, and order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "from",
                                                            "value": "2026-11-01",
                                                            "description": "Filter notifications created on or after date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-11-04",
                                                            "description": "Filter notifications created on or before date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "created_from",
                                                            "value": "2026-11-01",
                                                            "description": "Alias for `from`: notifications created on or after date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "created_to",
                                                            "value": "2026-11-04",
                                                            "description": "Alias for `to`: notifications created on or before date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "20",
                                                            "description": "Items per page (max: 100, default: 20). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 422 Invalid notification monitor filter parameters",
                                            "_joshen": {
                                                "route": "admin.notifications.index",
                                                "name": "422 Invalid notification monitor filter parameters",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications",
                                                    "query": {
                                                        "audience": "astronaut"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationEventTriggersTest::test_ac_admin_020_notification_monitor_fails_on_invalid_filter"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications?audience=astronaut",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "audience",
                                                            "value": "astronaut"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected audience is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"audience\": [\n                \"The selected audience is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "notification_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"template_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications/templates",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications",
                                                "templates"
                                            ],
                                            "query": [
                                                {
                                                    "key": "filters[audience]",
                                                    "value": "customer",
                                                    "description": "Filter by target audience (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status (1 for active, 0 for inactive). — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[send_sms]",
                                                    "value": "1",
                                                    "description": "Filter by SMS channel enabled state. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[send_push]",
                                                    "value": "1",
                                                    "description": "Filter by Push channel enabled state. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[send_in_app]",
                                                    "value": "1",
                                                    "description": "Filter by In-App channel enabled state. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Free-text search over the list's searchable fields. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.templates.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `filters[audience]` — Filter by target audience (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin` (optional)\n- `filters[is_active]` — Filter by active status (1 for active, 0 for inactive). — `boolean` (optional)\n- `filters[send_sms]` — Filter by SMS channel enabled state. — `boolean` (optional)\n- `filters[send_push]` — Filter by Push channel enabled state. — `boolean` (optional)\n- `filters[send_in_app]` — Filter by In-App channel enabled state. — `boolean` (optional)\n- `search` — Free-text search over the list's searchable fields. — `string` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `template_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` 200 Filter notification templates by audience\n- `200` 200 List notification templates\n- `200` Admin alert templates\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` 422 Invalid template filter parameters\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Notification templates retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1a6d6-fe5f-737b-a3d1-7eadfe9e5f4e\",\n                \"event_key\": \"booking_reminder\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Upcoming Booking Reminder ⏰\",\n                \"body\": \"Reminder for your booking {{code}} on {{date}} at {{time}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تذكير بموعد حجزكِ ⏰\",\n                        \"body\": \"تذكير بموعد حجزكِ رقم {{code}} بتاريخ {{date}} الساعة {{time}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Upcoming Booking Reminder ⏰\",\n                        \"body\": \"Reminder for your booking {{code}} on {{date}} at {{time}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"date\",\n                    \"time\",\n                    \"provider_name\",\n                    \"customer_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe67-72d8-82d7-aff625e9a161\",\n                \"event_key\": \"chat_message\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New Order Message 💬\",\n                \"body\": \"You have a new message regarding order {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"رسالة جديدة في محادثة الطلب 💬\",\n                        \"body\": \"لديكِ رسالة جديدة بخصوص الطلب {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New Order Message 💬\",\n                        \"body\": \"You have a new message regarding order {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"sender_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd7b-70df-be33-dbe1f0735921\",\n                \"event_key\": \"order_accepted_awaiting_payment\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Accepted! 💳\",\n                \"body\": \"Provider accepted booking {{code}}. Please complete payment.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم قبول طلبكِ! 💳\",\n                        \"body\": \"وافقت الخبيرة على طلبكِ رقم {{code}}. يرجى الدفع لإتمام التأكيد.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Accepted! 💳\",\n                        \"body\": \"Provider accepted booking {{code}}. Please complete payment.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd8e-725c-971e-b27e252ea3ae\",\n                \"event_key\": \"order_cancelled\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Cancelled ℹ️\",\n                \"body\": \"Booking {{code}} was cancelled.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم إلغاء الحجز ℹ️\",\n                        \"body\": \"تم إلغاء الحجز رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Cancelled ℹ️\",\n                        \"body\": \"Booking {{code}} was cancelled.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd73-7110-835c-8fe8fe07293e\",\n                \"event_key\": \"order_confirmed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Confirmed! ✨\",\n                \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم تأكيد حجزكِ بنجاح! ✨\",\n                        \"body\": \"حجزكِ رقم {{code}} مؤكد ومجدول في {{date}} الساعة {{time}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Confirmed! ✨\",\n                        \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\",\n                    \"date\",\n                    \"time\",\n                    \"provider_name\",\n                    \"customer_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd96-73ec-bb7d-6050576dfb01\",\n                \"event_key\": \"order_delayed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Order Update Delayed\",\n                \"body\": \"Specialist has not updated order {{code}} yet. You can keep waiting.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تأخر تحديث الطلب\",\n                        \"body\": \"لم تقم الخبيرة بتحديث الطلب رقم {{code}} بعد. يمكنكِ الاستمرار في الانتظار.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Order Update Delayed\",\n                        \"body\": \"Specialist has not updated order {{code}} yet. You can keep waiting.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd82-735b-9b90-c10851071839\",\n                \"event_key\": \"order_expired\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Order Expired ⏳\",\n                \"body\": \"The response deadline for order {{code}} has expired.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"انتهت مهلة الطلب ⏳\",\n                        \"body\": \"انتهت المهلة المحددة للطلب رقم {{code}} دون رد.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Order Expired ⏳\",\n                        \"body\": \"The response deadline for order {{code}} has expired.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe2c-70c6-9117-a8d21298bafe\",\n                \"event_key\": \"order_payment_failed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Payment Failed\",\n                \"body\": \"Payment for order {{code}} could not be processed. Please try again.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"فشل عملية الدفع\",\n                        \"body\": \"تعذر إتمام الدفع للطلب {{code}}. يرجى إعادة المحاولة.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Payment Failed\",\n                        \"body\": \"Payment for order {{code}} could not be processed. Please try again.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"order_code\",\n                    \"reason\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe28-738e-8531-f9b271e618d7\",\n                \"event_key\": \"order_payment_succeeded\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Payment Succeeded\",\n                \"body\": \"Your payment of {{amount}} SAR for order {{code}} was successful.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم الدفع بنجاح\",\n                        \"body\": \"تم استلام دفعتك للطلب {{code}} بنجاح بقيمة {{amount}} ر.س.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Payment Succeeded\",\n                        \"body\": \"Your payment of {{amount}} SAR for order {{code}} was successful.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"order_code\",\n                    \"amount\",\n                    \"payment_method\",\n                    \"method\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe30-729e-ae9a-b61f97f28b83\",\n                \"event_key\": \"order_rating_requested\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Rate Your Experience\",\n                \"body\": \"Your order {{code}} is complete. Please share your rating!\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"قيّم تجربتك\",\n                        \"body\": \"اكتمل طلبك {{code}}. يرجى مشاركتنا تقييمك لمقدمة الخدمة!\"\n                    },\n                    \"en\": {\n                        \"title\": \"Rate Your Experience\",\n                        \"body\": \"Your order {{code}} is complete. Please share your rating!\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"order_code\",\n                    \"provider_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd7f-7184-a286-a721a00148ff\",\n                \"event_key\": \"order_rejected\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Declined ⚠️\",\n                \"body\": \"The specialist declined booking request {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"اعتذار عن قبول الطلب ⚠️\",\n                        \"body\": \"نعتذر، اعتذرت الخبيرة عن تنفيذ الطلب رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Declined ⚠️\",\n                        \"body\": \"The specialist declined booking request {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd8a-7282-bb4f-1bf688268d12\",\n                \"event_key\": \"order_status_changed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Order Update 📍\",\n                \"body\": \"Status for order {{code}} is now: {{status}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تحديث في حالة الطلب 📍\",\n                        \"body\": \"حالة طلبكِ رقم {{code}} الآن: {{status}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Order Update 📍\",\n                        \"body\": \"Status for order {{code}} is now: {{status}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd9a-707b-a68d-a428d5fb37f9\",\n                \"event_key\": \"package_purchased\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Package Activated 🎁\",\n                \"body\": \"Your package purchase {{code}} is active.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم تفعيل باقتكِ 🎁\",\n                        \"body\": \"تم شراء الباقة بنجاح للطلب رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Package Activated 🎁\",\n                        \"body\": \"Your package purchase {{code}} is active.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fdfb-72c2-8f70-af35c2a08f90\",\n                \"event_key\": \"support_ticket_replied\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Support Team Replied 💬\",\n                \"body\": \"Support team replied to ticket {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"رد جديد من فريق الدعم 💬\",\n                        \"body\": \"قام فريق الدعم بالرد على طلبكِ رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Support Team Replied 💬\",\n                        \"body\": \"Support team replied to ticket {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe06-725f-9439-8b4249ea6cf5\",\n                \"event_key\": \"support_ticket_status_changed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Support Ticket Updated 📋\",\n                \"body\": \"Support ticket {{code}} status is now: {{status}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تحديث في طلب الدعم 📋\",\n                        \"body\": \"تم تحديث حالة طلبكِ رقم {{code}} إلى {{status}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Support Ticket Updated 📋\",\n                        \"body\": \"Support ticket {{code}} status is now: {{status}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fdc6-71e7-aeb1-d72e12796817\",\n                \"event_key\": \"trip_provider_picked_up\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Specialist On The Way 🚗\",\n                \"body\": \"Specialist is on the way to your location for order {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"الخبيرة في طريقها إليكِ 🚗\",\n                        \"body\": \"الخبيرة في طريقها الآن إلى موقعكِ للطلب رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Specialist On The Way 🚗\",\n                        \"body\": \"Specialist is on the way to your location for order {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe16-7066-ad7b-54a76fcb4ff9\",\n                \"event_key\": \"user_registered\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Welcome to Joshen! 🌸\",\n                \"body\": \"Welcome {{name}} to Joshen home beauty services.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"أهلاً بكِ في جوشن! 🌸\",\n                        \"body\": \"مرحباً بكِ {{name}} في منصة جوشن لخدمات العناية والتجميل.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Welcome to Joshen! 🌸\",\n                        \"body\": \"Welcome {{name}} to Joshen home beauty services.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe38-72dd-8501-36148a5884f4\",\n                \"event_key\": \"wallet_refund_credited\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Wallet Refund Credited\",\n                \"body\": \"A refund of {{amount}} SAR for order {{code}} has been credited to your wallet.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"استرداد الرصيد إلى المحفظة\",\n                        \"body\": \"تم إضافة مبلغ {{amount}} ر.س إلى محفظتك بنجاح كاسترداد للطلب {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Wallet Refund Credited\",\n                        \"body\": \"A refund of {{amount}} SAR for order {{code}} has been credited to your wallet.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"order_code\",\n                    \"amount\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications/templates\",\n            \"per_page\": 20,\n            \"to\": 18,\n            \"total\": 18\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 200 Filter notification templates by audience",
                                            "_joshen": {
                                                "route": "admin.notifications.templates.index",
                                                "name": "200 Filter notification templates by audience",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/templates",
                                                    "query": {
                                                        "filters": {
                                                            "audience": "customer",
                                                            "is_active": "1"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationTemplateAdminTest::test_ac_admin_020_filter_templates_by_audience_and_status"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates?filters[audience]=customer&filters[is_active]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "customer"
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notification templates retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1a6d6-fe5f-737b-a3d1-7eadfe9e5f4e\",\n                \"event_key\": \"booking_reminder\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Upcoming Booking Reminder ⏰\",\n                \"body\": \"Reminder for your booking {{code}} on {{date}} at {{time}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تذكير بموعد حجزكِ ⏰\",\n                        \"body\": \"تذكير بموعد حجزكِ رقم {{code}} بتاريخ {{date}} الساعة {{time}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Upcoming Booking Reminder ⏰\",\n                        \"body\": \"Reminder for your booking {{code}} on {{date}} at {{time}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"date\",\n                    \"time\",\n                    \"provider_name\",\n                    \"customer_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe67-72d8-82d7-aff625e9a161\",\n                \"event_key\": \"chat_message\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New Order Message 💬\",\n                \"body\": \"You have a new message regarding order {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"رسالة جديدة في محادثة الطلب 💬\",\n                        \"body\": \"لديكِ رسالة جديدة بخصوص الطلب {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New Order Message 💬\",\n                        \"body\": \"You have a new message regarding order {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"sender_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd7b-70df-be33-dbe1f0735921\",\n                \"event_key\": \"order_accepted_awaiting_payment\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Accepted! 💳\",\n                \"body\": \"Provider accepted booking {{code}}. Please complete payment.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم قبول طلبكِ! 💳\",\n                        \"body\": \"وافقت الخبيرة على طلبكِ رقم {{code}}. يرجى الدفع لإتمام التأكيد.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Accepted! 💳\",\n                        \"body\": \"Provider accepted booking {{code}}. Please complete payment.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd8e-725c-971e-b27e252ea3ae\",\n                \"event_key\": \"order_cancelled\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Cancelled ℹ️\",\n                \"body\": \"Booking {{code}} was cancelled.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم إلغاء الحجز ℹ️\",\n                        \"body\": \"تم إلغاء الحجز رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Cancelled ℹ️\",\n                        \"body\": \"Booking {{code}} was cancelled.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd73-7110-835c-8fe8fe07293e\",\n                \"event_key\": \"order_confirmed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Confirmed! ✨\",\n                \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم تأكيد حجزكِ بنجاح! ✨\",\n                        \"body\": \"حجزكِ رقم {{code}} مؤكد ومجدول في {{date}} الساعة {{time}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Confirmed! ✨\",\n                        \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\",\n                    \"date\",\n                    \"time\",\n                    \"provider_name\",\n                    \"customer_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd96-73ec-bb7d-6050576dfb01\",\n                \"event_key\": \"order_delayed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Order Update Delayed\",\n                \"body\": \"Specialist has not updated order {{code}} yet. You can keep waiting.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تأخر تحديث الطلب\",\n                        \"body\": \"لم تقم الخبيرة بتحديث الطلب رقم {{code}} بعد. يمكنكِ الاستمرار في الانتظار.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Order Update Delayed\",\n                        \"body\": \"Specialist has not updated order {{code}} yet. You can keep waiting.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd82-735b-9b90-c10851071839\",\n                \"event_key\": \"order_expired\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Order Expired ⏳\",\n                \"body\": \"The response deadline for order {{code}} has expired.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"انتهت مهلة الطلب ⏳\",\n                        \"body\": \"انتهت المهلة المحددة للطلب رقم {{code}} دون رد.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Order Expired ⏳\",\n                        \"body\": \"The response deadline for order {{code}} has expired.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe2c-70c6-9117-a8d21298bafe\",\n                \"event_key\": \"order_payment_failed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Payment Failed\",\n                \"body\": \"Payment for order {{code}} could not be processed. Please try again.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"فشل عملية الدفع\",\n                        \"body\": \"تعذر إتمام الدفع للطلب {{code}}. يرجى إعادة المحاولة.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Payment Failed\",\n                        \"body\": \"Payment for order {{code}} could not be processed. Please try again.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"order_code\",\n                    \"reason\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe28-738e-8531-f9b271e618d7\",\n                \"event_key\": \"order_payment_succeeded\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Payment Succeeded\",\n                \"body\": \"Your payment of {{amount}} SAR for order {{code}} was successful.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم الدفع بنجاح\",\n                        \"body\": \"تم استلام دفعتك للطلب {{code}} بنجاح بقيمة {{amount}} ر.س.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Payment Succeeded\",\n                        \"body\": \"Your payment of {{amount}} SAR for order {{code}} was successful.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"order_code\",\n                    \"amount\",\n                    \"payment_method\",\n                    \"method\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe30-729e-ae9a-b61f97f28b83\",\n                \"event_key\": \"order_rating_requested\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Rate Your Experience\",\n                \"body\": \"Your order {{code}} is complete. Please share your rating!\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"قيّم تجربتك\",\n                        \"body\": \"اكتمل طلبك {{code}}. يرجى مشاركتنا تقييمك لمقدمة الخدمة!\"\n                    },\n                    \"en\": {\n                        \"title\": \"Rate Your Experience\",\n                        \"body\": \"Your order {{code}} is complete. Please share your rating!\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"order_code\",\n                    \"provider_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd7f-7184-a286-a721a00148ff\",\n                \"event_key\": \"order_rejected\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Declined ⚠️\",\n                \"body\": \"The specialist declined booking request {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"اعتذار عن قبول الطلب ⚠️\",\n                        \"body\": \"نعتذر، اعتذرت الخبيرة عن تنفيذ الطلب رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Declined ⚠️\",\n                        \"body\": \"The specialist declined booking request {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd8a-7282-bb4f-1bf688268d12\",\n                \"event_key\": \"order_status_changed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Order Update 📍\",\n                \"body\": \"Status for order {{code}} is now: {{status}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تحديث في حالة الطلب 📍\",\n                        \"body\": \"حالة طلبكِ رقم {{code}} الآن: {{status}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Order Update 📍\",\n                        \"body\": \"Status for order {{code}} is now: {{status}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd9a-707b-a68d-a428d5fb37f9\",\n                \"event_key\": \"package_purchased\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Package Activated 🎁\",\n                \"body\": \"Your package purchase {{code}} is active.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم تفعيل باقتكِ 🎁\",\n                        \"body\": \"تم شراء الباقة بنجاح للطلب رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Package Activated 🎁\",\n                        \"body\": \"Your package purchase {{code}} is active.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fdfb-72c2-8f70-af35c2a08f90\",\n                \"event_key\": \"support_ticket_replied\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Support Team Replied 💬\",\n                \"body\": \"Support team replied to ticket {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"رد جديد من فريق الدعم 💬\",\n                        \"body\": \"قام فريق الدعم بالرد على طلبكِ رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Support Team Replied 💬\",\n                        \"body\": \"Support team replied to ticket {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe06-725f-9439-8b4249ea6cf5\",\n                \"event_key\": \"support_ticket_status_changed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Support Ticket Updated 📋\",\n                \"body\": \"Support ticket {{code}} status is now: {{status}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تحديث في طلب الدعم 📋\",\n                        \"body\": \"تم تحديث حالة طلبكِ رقم {{code}} إلى {{status}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Support Ticket Updated 📋\",\n                        \"body\": \"Support ticket {{code}} status is now: {{status}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fdc6-71e7-aeb1-d72e12796817\",\n                \"event_key\": \"trip_provider_picked_up\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Specialist On The Way 🚗\",\n                \"body\": \"Specialist is on the way to your location for order {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"الخبيرة في طريقها إليكِ 🚗\",\n                        \"body\": \"الخبيرة في طريقها الآن إلى موقعكِ للطلب رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Specialist On The Way 🚗\",\n                        \"body\": \"Specialist is on the way to your location for order {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe16-7066-ad7b-54a76fcb4ff9\",\n                \"event_key\": \"user_registered\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Welcome to Joshen! 🌸\",\n                \"body\": \"Welcome {{name}} to Joshen home beauty services.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"أهلاً بكِ في جوشن! 🌸\",\n                        \"body\": \"مرحباً بكِ {{name}} في منصة جوشن لخدمات العناية والتجميل.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Welcome to Joshen! 🌸\",\n                        \"body\": \"Welcome {{name}} to Joshen home beauty services.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe38-72dd-8501-36148a5884f4\",\n                \"event_key\": \"wallet_refund_credited\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Wallet Refund Credited\",\n                \"body\": \"A refund of {{amount}} SAR for order {{code}} has been credited to your wallet.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"استرداد الرصيد إلى المحفظة\",\n                        \"body\": \"تم إضافة مبلغ {{amount}} ر.س إلى محفظتك بنجاح كاسترداد للطلب {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Wallet Refund Credited\",\n                        \"body\": \"A refund of {{amount}} SAR for order {{code}} has been credited to your wallet.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"order_code\",\n                    \"amount\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications/templates\",\n            \"per_page\": 20,\n            \"to\": 18,\n            \"total\": 18\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 200 List notification templates",
                                            "_joshen": {
                                                "route": "admin.notifications.templates.index",
                                                "name": "200 List notification templates",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/templates",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationTemplateAdminTest::test_ac_admin_020_list_templates_returns_paginated_catalog"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notification templates retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1a6d6-fe4f-70c4-8cda-6a145ec6d942\",\n                \"event_key\": \"account_document_expiring\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Document Expiring Soon\",\n                \"body\": \"Notice: Your {{doc_name}} will expire in {{days}} days. Please update it.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"وثيقة قاربت على الانتهاء\",\n                        \"body\": \"تنبيه: وثيقة {{doc_name}} ستنتهي خلال {{days}} يوماً. يرجى تجديدها.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Document Expiring Soon\",\n                        \"body\": \"Notice: Your {{doc_name}} will expire in {{days}} days. Please update it.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"doc_name\",\n                    \"days\",\n                    \"date\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe53-707e-831c-be1212480dc4\",\n                \"event_key\": \"account_document_expiring\",\n                \"audience\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Document Expiring Soon\",\n                \"body\": \"Notice: Your {{doc_name}} will expire in {{days}} days. Please update it.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"وثيقة قاربت على الانتهاء\",\n                        \"body\": \"تنبيه: وثيقة {{doc_name}} ستنتهي خلال {{days}} يوماً. يرجى تجديدها.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Document Expiring Soon\",\n                        \"body\": \"Notice: Your {{doc_name}} will expire in {{days}} days. Please update it.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"doc_name\",\n                    \"days\",\n                    \"date\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fda3-71a3-b6b9-b0d68e92a4cb\",\n                \"event_key\": \"account_review_status_changed\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Account Review Updated 📋\",\n                \"body\": \"Account status: {{status}}. {{reason}}\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تحديث مراجعة الحساب 📋\",\n                        \"body\": \"حالة الحساب: {{status}}. {{reason}}\"\n                    },\n                    \"en\": {\n                        \"title\": \"Account Review Updated 📋\",\n                        \"body\": \"Account status: {{status}}. {{reason}}\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"status\",\n                    \"reason\",\n                    \"profile_id\",\n                    \"action\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fda6-702d-848f-0ef9dd3433de\",\n                \"event_key\": \"account_review_status_changed\",\n                \"audience\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Driver Account Review Updated 📋\",\n                \"body\": \"Account status: {{status}}. {{reason}}\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تحديث مراجعة حساب السائق 📋\",\n                        \"body\": \"حالة الحساب: {{status}}. {{reason}}\"\n                    },\n                    \"en\": {\n                        \"title\": \"Driver Account Review Updated 📋\",\n                        \"body\": \"Account status: {{status}}. {{reason}}\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"status\",\n                    \"reason\",\n                    \"profile_id\",\n                    \"action\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe5f-737b-a3d1-7eadfe9e5f4e\",\n                \"event_key\": \"booking_reminder\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Upcoming Booking Reminder ⏰\",\n                \"body\": \"Reminder for your booking {{code}} on {{date}} at {{time}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تذكير بموعد حجزكِ ⏰\",\n                        \"body\": \"تذكير بموعد حجزكِ رقم {{code}} بتاريخ {{date}} الساعة {{time}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Upcoming Booking Reminder ⏰\",\n                        \"body\": \"Reminder for your booking {{code}} on {{date}} at {{time}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"date\",\n                    \"time\",\n                    \"provider_name\",\n                    \"customer_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe63-701d-be85-a7f7abccb7fe\",\n                \"event_key\": \"booking_reminder\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Upcoming Booking Reminder ⏰\",\n                \"body\": \"Reminder for booking {{code}} on {{date}} at {{time}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تذكير بموعد الحجز القادم ⏰\",\n                        \"body\": \"تذكير بموعد الحجز رقم {{code}} بتاريخ {{date}} الساعة {{time}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Upcoming Booking Reminder ⏰\",\n                        \"body\": \"Reminder for booking {{code}} on {{date}} at {{time}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"date\",\n                    \"time\",\n                    \"provider_name\",\n                    \"customer_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe67-72d8-82d7-aff625e9a161\",\n                \"event_key\": \"chat_message\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New Order Message 💬\",\n                \"body\": \"You have a new message regarding order {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"رسالة جديدة في محادثة الطلب 💬\",\n                        \"body\": \"لديكِ رسالة جديدة بخصوص الطلب {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New Order Message 💬\",\n                        \"body\": \"You have a new message regarding order {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"sender_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe8a-734f-8ebd-366516cf442d\",\n                \"event_key\": \"chat_message\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New Order Message 💬\",\n                \"body\": \"You have a new message regarding order {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"رسالة جديدة في محادثة الطلب 💬\",\n                        \"body\": \"لديكِ رسالة جديدة بخصوص الطلب {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New Order Message 💬\",\n                        \"body\": \"You have a new message regarding order {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"sender_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe59-70f4-bdf9-fddce082acc6\",\n                \"event_key\": \"driver_rated\",\n                \"audience\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New Rating Received\",\n                \"body\": \"You received a new rating: {{rating}} stars.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تقييم جديد\",\n                        \"body\": \"حصلت على تقييم جديد: {{rating}} نجوم.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New Rating Received\",\n                        \"body\": \"You received a new rating: {{rating}} stars.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"rating\",\n                    \"code\",\n                    \"order_code\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe4a-7161-8ab7-4f8d544bb2be\",\n                \"event_key\": \"earning_recorded\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New Earning Recorded\",\n                \"body\": \"A new earning of {{net_amount}} SAR has been added to your balance.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تسجيل أرباح جديدة\",\n                        \"body\": \"تم تسجيل أرباح جديدة بقيمة {{net_amount}} ر.س في حسابك.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New Earning Recorded\",\n                        \"body\": \"A new earning of {{net_amount}} SAR has been added to your balance.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"net_amount\",\n                    \"amount\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fe45-7138-b6aa-a84fa2ab8f24\",\n                \"event_key\": \"earning_recorded\",\n                \"audience\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New Earning Recorded\",\n                \"body\": \"A new earning of {{net_amount}} SAR has been added to your balance.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تسجيل أرباح جديدة\",\n                        \"body\": \"تم تسجيل أرباح جديدة بقيمة {{net_amount}} ر.س في حسابك.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New Earning Recorded\",\n                        \"body\": \"A new earning of {{net_amount}} SAR has been added to your balance.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"net_amount\",\n                    \"amount\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:30+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fdd6-72a8-baeb-2b439831406e\",\n                \"event_key\": \"featured_payment_failed\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Featured Plan Payment Failed ⚠️\",\n                \"body\": \"Payment for featured plan {{plan}} failed. Please retry.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"فشل خصم باقة التميز ⚠️\",\n                        \"body\": \"تعذر خصم قيمة باقة التميز {{plan}}. يرجى المحاولة مرة أخرى.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Featured Plan Payment Failed ⚠️\",\n                        \"body\": \"Payment for featured plan {{plan}} failed. Please retry.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"plan\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fdd2-72e6-924a-d0b6e3cd54a9\",\n                \"event_key\": \"featured_subscription_activated\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Featured Plan Active 🌟\",\n                \"body\": \"Your {{plan}} plan is active until {{date}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم تفعيل باقة التميز 🌟\",\n                        \"body\": \"باقتكِ {{plan}} مفعلة الآن حتى {{date}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Featured Plan Active 🌟\",\n                        \"body\": \"Your {{plan}} plan is active until {{date}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"plan\",\n                    \"date\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fdde-70c4-992b-cfc111b91c18\",\n                \"event_key\": \"featured_subscription_expired\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Featured Plan Expired ℹ️\",\n                \"body\": \"Your {{plan}} plan ended and ranking returned to standard.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"انتهت باقة التميز ℹ️\",\n                        \"body\": \"انتهت باقتكِ {{plan}} وعاد ترتيبكِ للوضع الطبيعي.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Featured Plan Expired ℹ️\",\n                        \"body\": \"Your {{plan}} plan ended and ranking returned to standard.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"plan\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fdda-7002-b83e-099d3d3c478b\",\n                \"event_key\": \"featured_subscription_expiring\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Featured Plan Expiring Soon ⏳\",\n                \"body\": \"Your {{plan}} plan will expire in {{days}} days on {{date}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"اقترب موعد تجديد باقة التميز ⏳\",\n                        \"body\": \"ستنتهي باقتكِ {{plan}} خلال {{days}} أيام بتاريخ {{date}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Featured Plan Expiring Soon ⏳\",\n                        \"body\": \"Your {{plan}} plan will expire in {{days}} days on {{date}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"plan\",\n                    \"days\",\n                    \"date\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd7b-70df-be33-dbe1f0735921\",\n                \"event_key\": \"order_accepted_awaiting_payment\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Accepted! 💳\",\n                \"body\": \"Provider accepted booking {{code}}. Please complete payment.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم قبول طلبكِ! 💳\",\n                        \"body\": \"وافقت الخبيرة على طلبكِ رقم {{code}}. يرجى الدفع لإتمام التأكيد.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Accepted! 💳\",\n                        \"body\": \"Provider accepted booking {{code}}. Please complete payment.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd8e-725c-971e-b27e252ea3ae\",\n                \"event_key\": \"order_cancelled\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Cancelled ℹ️\",\n                \"body\": \"Booking {{code}} was cancelled.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم إلغاء الحجز ℹ️\",\n                        \"body\": \"تم إلغاء الحجز رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Cancelled ℹ️\",\n                        \"body\": \"Booking {{code}} was cancelled.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd92-7308-a5aa-b856f1604163\",\n                \"event_key\": \"order_cancelled\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Cancelled ⚠️\",\n                \"body\": \"Booking {{code}} was cancelled.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم إلغاء الحجز ⚠️\",\n                        \"body\": \"تم إلغاء الحجز رقم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Cancelled ⚠️\",\n                        \"body\": \"Booking {{code}} was cancelled.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd73-7110-835c-8fe8fe07293e\",\n                \"event_key\": \"order_confirmed\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Confirmed! ✨\",\n                \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"تم تأكيد حجزكِ بنجاح! ✨\",\n                        \"body\": \"حجزكِ رقم {{code}} مؤكد ومجدول في {{date}} الساعة {{time}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Confirmed! ✨\",\n                        \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\",\n                    \"date\",\n                    \"time\",\n                    \"provider_name\",\n                    \"customer_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            },\n            {\n                \"id\": \"01a1a6d6-fd86-7373-b0dd-0690f3fab206\",\n                \"event_key\": \"order_confirmed\",\n                \"audience\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Booking Confirmed 📅\",\n                \"body\": \"Booking {{code}} is now confirmed.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"حجز مؤكد جديد 📅\",\n                        \"body\": \"تم تأكيد الحجز رقم {{code}} بنجاح.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Booking Confirmed 📅\",\n                        \"body\": \"Booking {{code}} is now confirmed.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"status\",\n                    \"date\",\n                    \"time\",\n                    \"provider_name\",\n                    \"customer_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications/templates?page=3\",\n            \"prev\": null,\n            \"next\": \"http://localhost/api/v1/admin/notifications/templates?page=2\"\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 3,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/templates?page=2\",\n                    \"label\": \"2\",\n                    \"page\": 2,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/templates?page=3\",\n                    \"label\": \"3\",\n                    \"page\": 3,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/templates?page=2\",\n                    \"label\": \"Next &raquo;\",\n                    \"page\": 2,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications/templates\",\n            \"per_page\": 20,\n            \"to\": 20,\n            \"total\": 60\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Admin alert templates",
                                            "_joshen": {
                                                "route": "admin.notifications.templates.index",
                                                "name": "Admin alert templates",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/templates",
                                                    "query": {
                                                        "filters": {
                                                            "audience": "admin"
                                                        },
                                                        "per_page": 50
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAlertsTest::test_td_173_admin_templates_are_listed_with_the_dashboard_category"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates?filters[audience]=admin&per_page=50",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "admin"
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "50"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notification templates retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1bb79-cc03-70c7-b065-8db09d6ec6b8\",\n                \"event_key\": \"admin_account_submitted\",\n                \"audience\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Dashboard\"\n                },\n                \"category\": {\n                    \"value\": \"dashboard\",\n                    \"label\": \"Dashboard\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New registration to review\",\n                \"body\": \"{{name}} ({{role}}) submitted her account for review.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"طلب تسجيل جديد للمراجعة\",\n                        \"body\": \"أرسلت {{name}} ({{role}}) حسابها للمراجعة.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New registration to review\",\n                        \"body\": \"{{name}} ({{role}}) submitted her account for review.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"name\",\n                    \"role\",\n                    \"phone\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-08T14:04:43+00:00\"\n            },\n            {\n                \"id\": \"01a1bb79-cc08-7132-a1ec-51c83b5335eb\",\n                \"event_key\": \"admin_category_requested\",\n                \"audience\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Dashboard\"\n                },\n                \"category\": {\n                    \"value\": \"dashboard\",\n                    \"label\": \"Dashboard\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New category request\",\n                \"body\": \"{{provider_name}} requested the {{category}} category.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"طلب قسم جديد\",\n                        \"body\": \"طلبت {{provider_name}} إضافة قسم {{category}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New category request\",\n                        \"body\": \"{{provider_name}} requested the {{category}} category.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"provider_name\",\n                    \"category\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-08T14:04:43+00:00\"\n            },\n            {\n                \"id\": \"01a1bb79-cc21-708a-a0c1-a8446721e66e\",\n                \"event_key\": \"admin_contact_message_received\",\n                \"audience\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Dashboard\"\n                },\n                \"category\": {\n                    \"value\": \"dashboard\",\n                    \"label\": \"Dashboard\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New contact message\",\n                \"body\": \"New message from {{name}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"رسالة تواصل جديدة\",\n                        \"body\": \"وصلت رسالة جديدة من {{name}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New contact message\",\n                        \"body\": \"New message from {{name}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"name\",\n                    \"phone\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-08T14:04:43+00:00\"\n            },\n            {\n                \"id\": \"01a1bb79-cc0c-703e-96f0-762bef3c1c65\",\n                \"event_key\": \"admin_package_submitted\",\n                \"audience\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Dashboard\"\n                },\n                \"category\": {\n                    \"value\": \"dashboard\",\n                    \"label\": \"Dashboard\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Package awaiting review\",\n                \"body\": \"{{provider_name}} sent the package \\\"{{name}}\\\" for review.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"باقة بانتظار المراجعة\",\n                        \"body\": \"أرسلت {{provider_name}} الباقة \\\"{{name}}\\\" للمراجعة.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Package awaiting review\",\n                        \"body\": \"{{provider_name}} sent the package \\\"{{name}}\\\" for review.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"provider_name\",\n                    \"name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-08T14:04:43+00:00\"\n            },\n            {\n                \"id\": \"01a1bb79-cc2a-716e-aee2-e7220c51a222\",\n                \"event_key\": \"admin_payout_requested\",\n                \"audience\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Dashboard\"\n                },\n                \"category\": {\n                    \"value\": \"dashboard\",\n                    \"label\": \"Dashboard\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"Payout requested\",\n                \"body\": \"{{beneficiary_name}} ({{role}}) requested a payout of SAR {{amount}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"طلب صرف مستحقات\",\n                        \"body\": \"طلبت {{beneficiary_name}} ({{role}}) صرف {{amount}} ر.س.\"\n                    },\n                    \"en\": {\n                        \"title\": \"Payout requested\",\n                        \"body\": \"{{beneficiary_name}} ({{role}}) requested a payout of SAR {{amount}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"amount\",\n                    \"beneficiary_name\",\n                    \"role\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-08T14:04:43+00:00\"\n            },\n            {\n                \"id\": \"01a1bb79-cc15-730b-94e8-ca958b7700ea\",\n                \"event_key\": \"admin_support_ticket_opened\",\n                \"audience\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Dashboard\"\n                },\n                \"category\": {\n                    \"value\": \"dashboard\",\n                    \"label\": \"Dashboard\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New support ticket {{code}}\",\n                \"body\": \"{{user_name}} opened a support ticket: {{reason}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"طلب دعم جديد {{code}}\",\n                        \"body\": \"فتحت {{user_name}} طلب دعم: {{reason}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New support ticket {{code}}\",\n                        \"body\": \"{{user_name}} opened a support ticket: {{reason}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"user_name\",\n                    \"reason\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-08T14:04:43+00:00\"\n            },\n            {\n                \"id\": \"01a1bb79-cc19-7237-8654-d45676afd06a\",\n                \"event_key\": \"admin_support_ticket_replied\",\n                \"audience\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Dashboard\"\n                },\n                \"category\": {\n                    \"value\": \"dashboard\",\n                    \"label\": \"Dashboard\"\n                },\n                \"send_in_app\": true,\n                \"send_push\": true,\n                \"send_sms\": false,\n                \"send_whatsapp\": false,\n                \"available_channels\": [\n                    \"in_app\",\n                    \"push\",\n                    \"sms\"\n                ],\n                \"is_active\": true,\n                \"title\": \"New reply on {{code}}\",\n                \"body\": \"{{user_name}} replied on support ticket {{code}}.\",\n                \"translations\": {\n                    \"ar\": {\n                        \"title\": \"رد جديد على الطلب {{code}}\",\n                        \"body\": \"ردّت {{user_name}} على طلب الدعم {{code}}.\"\n                    },\n                    \"en\": {\n                        \"title\": \"New reply on {{code}}\",\n                        \"body\": \"{{user_name}} replied on support ticket {{code}}.\"\n                    }\n                },\n                \"allowed_placeholders\": [\n                    \"code\",\n                    \"user_name\"\n                ],\n                \"updated_by\": null,\n                \"updated_at\": \"2026-11-08T14:04:43+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/templates?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications/templates\",\n            \"per_page\": 50,\n            \"to\": 7,\n            \"total\": 7\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "customer",
                                                            "description": "Filter by target audience (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status (1 for active, 0 for inactive). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_sms]",
                                                            "value": "1",
                                                            "description": "Filter by SMS channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_push]",
                                                            "value": "1",
                                                            "description": "Filter by Push channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_in_app]",
                                                            "value": "1",
                                                            "description": "Filter by In-App channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "customer",
                                                            "description": "Filter by target audience (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status (1 for active, 0 for inactive). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_sms]",
                                                            "value": "1",
                                                            "description": "Filter by SMS channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_push]",
                                                            "value": "1",
                                                            "description": "Filter by Push channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_in_app]",
                                                            "value": "1",
                                                            "description": "Filter by In-App channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "customer",
                                                            "description": "Filter by target audience (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status (1 for active, 0 for inactive). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_sms]",
                                                            "value": "1",
                                                            "description": "Filter by SMS channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_push]",
                                                            "value": "1",
                                                            "description": "Filter by Push channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[send_in_app]",
                                                            "value": "1",
                                                            "description": "Filter by In-App channel enabled state. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 422 Invalid template filter parameters",
                                            "_joshen": {
                                                "route": "admin.notifications.templates.index",
                                                "name": "422 Invalid template filter parameters",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/templates",
                                                    "query": {
                                                        "filters": {
                                                            "audience": "astronaut"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationTemplateAdminTest::test_ac_admin_020_list_templates_fails_on_invalid_filter"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates?filters[audience]=astronaut",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "astronaut"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.audience is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.audience\": [\n                \"The selected filters.audience is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "template_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"template_id\",\"Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"template_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications/templates/:template",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications",
                                                "templates",
                                                ":template"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "template",
                                                    "value": "{{template_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.templates.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{template_id}}` — Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `template_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` 200 Show single notification template\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Notification template retrieved successfully.\",\n    \"data\": {\n        \"id\": \"01a1a6d6-fd73-7110-835c-8fe8fe07293e\",\n        \"event_key\": \"order_confirmed\",\n        \"audience\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"category\": {\n            \"value\": \"orders\",\n            \"label\": \"Orders and trips\"\n        },\n        \"send_in_app\": true,\n        \"send_push\": true,\n        \"send_sms\": false,\n        \"send_whatsapp\": false,\n        \"available_channels\": [\n            \"in_app\",\n            \"push\",\n            \"sms\"\n        ],\n        \"is_active\": true,\n        \"title\": \"Booking Confirmed! ✨\",\n        \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\",\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"تم تأكيد حجزكِ بنجاح! ✨\",\n                \"body\": \"حجزكِ رقم {{code}} مؤكد ومجدول في {{date}} الساعة {{time}}.\"\n            },\n            \"en\": {\n                \"title\": \"Booking Confirmed! ✨\",\n                \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\"\n            }\n        },\n        \"allowed_placeholders\": [\n            \"code\",\n            \"status\",\n            \"date\",\n            \"time\",\n            \"provider_name\",\n            \"customer_name\"\n        ],\n        \"updated_by\": null,\n        \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 200 Show single notification template",
                                            "_joshen": {
                                                "route": "admin.notifications.templates.show",
                                                "name": "200 Show single notification template",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/templates/01a1a6d6-fd73-7110-835c-8fe8fe07293e",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationTemplateAdminTest::test_ac_admin_020_show_single_template_returns_translations_and_placeholders"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/01a1a6d6-fd73-7110-835c-8fe8fe07293e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        "01a1a6d6-fd73-7110-835c-8fe8fe07293e"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notification template retrieved successfully.\",\n    \"data\": {\n        \"id\": \"01a1a6d6-fd73-7110-835c-8fe8fe07293e\",\n        \"event_key\": \"order_confirmed\",\n        \"audience\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"category\": {\n            \"value\": \"orders\",\n            \"label\": \"Orders and trips\"\n        },\n        \"send_in_app\": true,\n        \"send_push\": true,\n        \"send_sms\": false,\n        \"send_whatsapp\": false,\n        \"available_channels\": [\n            \"in_app\",\n            \"push\",\n            \"sms\"\n        ],\n        \"is_active\": true,\n        \"title\": \"Booking Confirmed! ✨\",\n        \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\",\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"تم تأكيد حجزكِ بنجاح! ✨\",\n                \"body\": \"حجزكِ رقم {{code}} مؤكد ومجدول في {{date}} الساعة {{time}}.\"\n            },\n            \"en\": {\n                \"title\": \"Booking Confirmed! ✨\",\n                \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\"\n            }\n        },\n        \"allowed_placeholders\": [\n            \"code\",\n            \"status\",\n            \"date\",\n            \"time\",\n            \"provider_name\",\n            \"customer_name\"\n        ],\n        \"updated_by\": null,\n        \"updated_at\": \"2026-11-04T13:54:29+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/:template",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        ":template"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "template",
                                                            "value": "{{template_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/:template",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        ":template"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "template",
                                                            "value": "{{template_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/:template",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        ":template"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "template",
                                                            "value": "{{template_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "template_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "template_id",
                                                "set_by": [
                                                    "admin.notifications.templates.index",
                                                    "admin.notifications.templates.show",
                                                    "admin.notifications.templates.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"template_id\",\"Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"code\",\"Not saved by any request; enter it by hand.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"template_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications/templates/:template",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications",
                                                "templates",
                                                ":template"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "template",
                                                    "value": "{{template_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.templates.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `is_active`\n- **Description:** Master switch for this template. Inactive templates never send on any channel.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `send_in_app`\n- **Description:** Whether to deliver this event as an in-app notification in the recipient inbox.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `send_push`\n- **Description:** Whether to send an FCM push notification for this event.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `send_sms`\n- **Description:** Whether to send an SMS message for this event.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `send_whatsapp`\n- **Description:** Whether to send a WhatsApp message when integrated.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `ar`\n- **Description:** Arabic translations object (ar is required when updating copy).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"تم تأكيد حجزكِ ✨\",\"body\":\"حجزكِ رقم {{code}} مؤكد بنجاح.\"}`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `ar.title`\n- **Description:** Arabic notification title (max 200 chars).\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `تم تأكيد حجزكِ ✨`\n- **Validation rules:** `required_with:ar|string|max:200`\n- `required_with:ar` — required when ar is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `ar.body`\n- **Description:** Arabic notification body text with allowed placeholders.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `حجزكِ رقم {{code}} مؤكد بنجاح.`\n- **Validation rules:** `required_with:ar|string`\n- `required_with:ar` — required when ar is present.\n- `string` — must be text.\n### `en`\n- **Description:** English translations object (optional).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"Booking Confirmed ✨\",\"body\":\"Your booking {{code}} is confirmed.\"}`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `en.title`\n- **Description:** English notification title (max 200 chars).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Booking Confirmed ✨`\n- **Validation rules:** `sometimes|nullable|string|max:200`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `en.body`\n- **Description:** English notification body text with allowed placeholders.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Your booking {{code}} is confirmed.`\n- **Validation rules:** `sometimes|nullable|string`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n\n**Variables:**\n- Uses `{{template_id}}` — Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{code}}` — Not saved by any request; enter it by hand.\n- Saves `template_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` 200 Update notification template\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` 422 Unknown placeholder in template\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Notification template updated successfully.\",\n    \"data\": {\n        \"id\": \"01a1a6d6-fd73-7110-835c-8fe8fe07293e\",\n        \"event_key\": \"order_confirmed\",\n        \"audience\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"category\": {\n            \"value\": \"orders\",\n            \"label\": \"Orders and trips\"\n        },\n        \"send_in_app\": true,\n        \"send_push\": true,\n        \"send_sms\": true,\n        \"send_whatsapp\": false,\n        \"available_channels\": [\n            \"in_app\",\n            \"push\",\n            \"sms\"\n        ],\n        \"is_active\": true,\n        \"title\": \"Booking {{code}} Confirmed ✨\",\n        \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\",\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"تم تأكيد حجزكِ رقم {{code}} ✨\",\n                \"body\": \"حجزكِ رقم {{code}} مؤكد ومجدول بتاريخ {{date}} الساعة {{time}}.\"\n            },\n            \"en\": {\n                \"title\": \"Booking {{code}} Confirmed ✨\",\n                \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\"\n            }\n        },\n        \"allowed_placeholders\": [\n            \"code\",\n            \"status\",\n            \"date\",\n            \"time\",\n            \"provider_name\",\n            \"customer_name\"\n        ],\n        \"updated_by\": {\n            \"id\": \"01a1a6d7-092f-7271-a373-ddff9df241a8\",\n            \"name\": null,\n            \"email\": \"dubuque.jaunita@example.com\"\n        },\n        \"updated_at\": \"2026-11-04T13:54:32+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"is_active\": true,\n    \"send_in_app\": true,\n    \"send_push\": true,\n    \"send_sms\": false,\n    \"send_whatsapp\": false,\n    \"ar\": {\n        \"title\": \"تم تأكيد حجزكِ ✨\",\n        \"body\": \"حجزكِ رقم {{code}} مؤكد بنجاح.\"\n    },\n    \"en\": {\n        \"title\": \"Booking Confirmed ✨\",\n        \"body\": \"Your booking {{code}} is confirmed.\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 200 Update notification template",
                                            "_joshen": {
                                                "route": "admin.notifications.templates.update",
                                                "name": "200 Update notification template",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/templates/01a1a6d6-fd73-7110-835c-8fe8fe07293e",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true,
                                                        "send_in_app": true,
                                                        "send_push": true,
                                                        "send_sms": true,
                                                        "ar": {
                                                            "title": "تم تأكيد حجزكِ رقم {{code}} ✨",
                                                            "body": "حجزكِ رقم {{code}} مؤكد ومجدول بتاريخ {{date}} الساعة {{time}}."
                                                        },
                                                        "en": {
                                                            "title": "Booking {{code}} Confirmed ✨",
                                                            "body": "Your booking {{code}} is confirmed for {{date}} at {{time}}."
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationTemplateAdminTest::test_ac_admin_020_update_template_switches_and_content"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/01a1a6d6-fd73-7110-835c-8fe8fe07293e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        "01a1a6d6-fd73-7110-835c-8fe8fe07293e"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"send_in_app\": true,\n    \"send_push\": true,\n    \"send_sms\": true,\n    \"ar\": {\n        \"title\": \"تم تأكيد حجزكِ رقم {{code}} ✨\",\n        \"body\": \"حجزكِ رقم {{code}} مؤكد ومجدول بتاريخ {{date}} الساعة {{time}}.\"\n    },\n    \"en\": {\n        \"title\": \"Booking {{code}} Confirmed ✨\",\n        \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notification template updated successfully.\",\n    \"data\": {\n        \"id\": \"01a1a6d6-fd73-7110-835c-8fe8fe07293e\",\n        \"event_key\": \"order_confirmed\",\n        \"audience\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"category\": {\n            \"value\": \"orders\",\n            \"label\": \"Orders and trips\"\n        },\n        \"send_in_app\": true,\n        \"send_push\": true,\n        \"send_sms\": true,\n        \"send_whatsapp\": false,\n        \"available_channels\": [\n            \"in_app\",\n            \"push\",\n            \"sms\"\n        ],\n        \"is_active\": true,\n        \"title\": \"Booking {{code}} Confirmed ✨\",\n        \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\",\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"تم تأكيد حجزكِ رقم {{code}} ✨\",\n                \"body\": \"حجزكِ رقم {{code}} مؤكد ومجدول بتاريخ {{date}} الساعة {{time}}.\"\n            },\n            \"en\": {\n                \"title\": \"Booking {{code}} Confirmed ✨\",\n                \"body\": \"Your booking {{code}} is confirmed for {{date}} at {{time}}.\"\n            }\n        },\n        \"allowed_placeholders\": [\n            \"code\",\n            \"status\",\n            \"date\",\n            \"time\",\n            \"provider_name\",\n            \"customer_name\"\n        ],\n        \"updated_by\": {\n            \"id\": \"01a1a6d7-092f-7271-a373-ddff9df241a8\",\n            \"name\": null,\n            \"email\": \"dubuque.jaunita@example.com\"\n        },\n        \"updated_at\": \"2026-11-04T13:54:32+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/:template",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        ":template"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "template",
                                                            "value": "{{template_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"send_in_app\": true,\n    \"send_push\": true,\n    \"send_sms\": false,\n    \"send_whatsapp\": false,\n    \"ar\": {\n        \"title\": \"تم تأكيد حجزكِ ✨\",\n        \"body\": \"حجزكِ رقم {{code}} مؤكد بنجاح.\"\n    },\n    \"en\": {\n        \"title\": \"Booking Confirmed ✨\",\n        \"body\": \"Your booking {{code}} is confirmed.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/:template",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        ":template"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "template",
                                                            "value": "{{template_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"send_in_app\": true,\n    \"send_push\": true,\n    \"send_sms\": false,\n    \"send_whatsapp\": false,\n    \"ar\": {\n        \"title\": \"تم تأكيد حجزكِ ✨\",\n        \"body\": \"حجزكِ رقم {{code}} مؤكد بنجاح.\"\n    },\n    \"en\": {\n        \"title\": \"Booking Confirmed ✨\",\n        \"body\": \"Your booking {{code}} is confirmed.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/:template",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        ":template"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "template",
                                                            "value": "{{template_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"send_in_app\": true,\n    \"send_push\": true,\n    \"send_sms\": false,\n    \"send_whatsapp\": false,\n    \"ar\": {\n        \"title\": \"تم تأكيد حجزكِ ✨\",\n        \"body\": \"حجزكِ رقم {{code}} مؤكد بنجاح.\"\n    },\n    \"en\": {\n        \"title\": \"Booking Confirmed ✨\",\n        \"body\": \"Your booking {{code}} is confirmed.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 422 Unknown placeholder in template",
                                            "_joshen": {
                                                "route": "admin.notifications.templates.update",
                                                "name": "422 Unknown placeholder in template",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/templates/01a1a6d6-fd73-7110-835c-8fe8fe07293e",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "title": "تأكيد الحجز",
                                                            "body": "حجزكِ مع {{forbidden_variable}} مؤكد."
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationTemplateAdminTest::test_ac_admin_020_update_template_with_unknown_placeholder_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/templates/01a1a6d6-fd73-7110-835c-8fe8fe07293e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "templates",
                                                        "01a1a6d6-fd73-7110-835c-8fe8fe07293e"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"تأكيد الحجز\",\n        \"body\": \"حجزكِ مع {{forbidden_variable}} مؤكد.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The following placeholders are not allowed for this notification event: {{forbidden_variable}}.\",\n    \"data\": {\n        \"errors\": {\n            \"ar.body\": [\n                \"The following placeholders are not allowed for this notification event: {{forbidden_variable}}.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "template_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "template_id",
                                                "set_by": [
                                                    "admin.notifications.templates.index",
                                                    "admin.notifications.templates.show",
                                                    "admin.notifications.templates.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/notifications/templates, GET /api/v1/admin/notifications/templates/{template}, PUT /api/v1/admin/notifications/templates/{template}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "code",
                                                "set_by": [],
                                                "how": "Not saved by any request; enter it by hand."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications/deliveries",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications",
                                                "deliveries"
                                            ],
                                            "query": [
                                                {
                                                    "key": "filters[channel]",
                                                    "value": "push",
                                                    "description": "Filter by delivery channel (in_app, push, sms, whatsapp). — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "sent",
                                                    "description": "Filter by delivery status (queued, sent, delivered, failed). — `string (enum)`, one of: `queued`, `sent`, `delivered`, `failed`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[event_key]",
                                                    "value": "order_confirmed",
                                                    "description": "Filter by event key string. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[app]",
                                                    "value": "customer",
                                                    "description": "Filter by audience/app (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[date_from]",
                                                    "value": "2026-11-01",
                                                    "description": "Filter by attempt date from (ISO or Y-m-d). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[date_to]",
                                                    "value": "2026-11-04",
                                                    "description": "Filter by attempt date to (ISO or Y-m-d). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Free-text search over the list's searchable fields. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.deliveries.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `filters[channel]` — Filter by delivery channel (in_app, push, sms, whatsapp). — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp` (optional)\n- `filters[status]` — Filter by delivery status (queued, sent, delivered, failed). — `string (enum)`, one of: `queued`, `sent`, `delivered`, `failed` (optional)\n- `filters[event_key]` — Filter by event key string. — `string` (optional)\n- `filters[app]` — Filter by audience/app (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin` (optional)\n- `filters[date_from]` — Filter by attempt date from (ISO or Y-m-d). — `string (date)` (optional)\n- `filters[date_to]` — Filter by attempt date to (ISO or Y-m-d). — `string (date)` (optional)\n- `search` — Free-text search over the list's searchable fields. — `string` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` 200 List notification deliveries\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` 422 Invalid delivery filter parameters\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Notification delivery log retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1a6d7-1339-71a1-b7f7-54f41dca6e6d\",\n                \"channel\": {\n                    \"value\": \"push\",\n                    \"label\": \"Push Notification\"\n                },\n                \"status\": {\n                    \"value\": \"sent\",\n                    \"label\": \"Sent\"\n                },\n                \"provider_ref\": null,\n                \"error\": null,\n                \"sent_at\": \"2026-11-04T13:54:35+00:00\",\n                \"notification\": {\n                    \"id\": \"01a1a6d7-1337-7152-a1dd-4fd724557004\",\n                    \"event_key\": \"order_confirmed\",\n                    \"app\": {\n                        \"value\": \"customer\",\n                        \"label\": \"Customer\"\n                    },\n                    \"title\": \"Demo notification\",\n                    \"user\": {\n                        \"id\": \"01a1a6d7-132a-73d3-a414-50c06a199b45\",\n                        \"name\": null,\n                        \"phone\": \"966500000001\"\n                    }\n                }\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications/deliveries?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications/deliveries?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/deliveries?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications/deliveries\",\n            \"per_page\": 20,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 200 List notification deliveries",
                                            "_joshen": {
                                                "route": "admin.notifications.deliveries.index",
                                                "name": "200 List notification deliveries",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/deliveries",
                                                    "query": {
                                                        "filters": {
                                                            "channel": "push",
                                                            "status": "sent"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationDeliveryLogTest::test_ac_admin_020_delivery_log_lists_attempts_with_filters"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/deliveries?filters[channel]=push&filters[status]=sent",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "deliveries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[channel]",
                                                            "value": "push"
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "sent"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Notification delivery log retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1a6d7-1339-71a1-b7f7-54f41dca6e6d\",\n                \"channel\": {\n                    \"value\": \"push\",\n                    \"label\": \"Push Notification\"\n                },\n                \"status\": {\n                    \"value\": \"sent\",\n                    \"label\": \"Sent\"\n                },\n                \"provider_ref\": null,\n                \"error\": null,\n                \"sent_at\": \"2026-11-04T13:54:35+00:00\",\n                \"notification\": {\n                    \"id\": \"01a1a6d7-1337-7152-a1dd-4fd724557004\",\n                    \"event_key\": \"order_confirmed\",\n                    \"app\": {\n                        \"value\": \"customer\",\n                        \"label\": \"Customer\"\n                    },\n                    \"title\": \"Demo notification\",\n                    \"user\": {\n                        \"id\": \"01a1a6d7-132a-73d3-a414-50c06a199b45\",\n                        \"name\": null,\n                        \"phone\": \"966500000001\"\n                    }\n                }\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications/deliveries?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications/deliveries?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/deliveries?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications/deliveries\",\n            \"per_page\": 20,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/deliveries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "deliveries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[channel]",
                                                            "value": "push",
                                                            "description": "Filter by delivery channel (in_app, push, sms, whatsapp). — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "sent",
                                                            "description": "Filter by delivery status (queued, sent, delivered, failed). — `string (enum)`, one of: `queued`, `sent`, `delivered`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[event_key]",
                                                            "value": "order_confirmed",
                                                            "description": "Filter by event key string. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "customer",
                                                            "description": "Filter by audience/app (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Filter by attempt date from (ISO or Y-m-d). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-11-04",
                                                            "description": "Filter by attempt date to (ISO or Y-m-d). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/deliveries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "deliveries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[channel]",
                                                            "value": "push",
                                                            "description": "Filter by delivery channel (in_app, push, sms, whatsapp). — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "sent",
                                                            "description": "Filter by delivery status (queued, sent, delivered, failed). — `string (enum)`, one of: `queued`, `sent`, `delivered`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[event_key]",
                                                            "value": "order_confirmed",
                                                            "description": "Filter by event key string. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "customer",
                                                            "description": "Filter by audience/app (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Filter by attempt date from (ISO or Y-m-d). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-11-04",
                                                            "description": "Filter by attempt date to (ISO or Y-m-d). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/deliveries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "deliveries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[channel]",
                                                            "value": "push",
                                                            "description": "Filter by delivery channel (in_app, push, sms, whatsapp). — `string (enum)`, one of: `in_app`, `push`, `sms`, `whatsapp`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "sent",
                                                            "description": "Filter by delivery status (queued, sent, delivered, failed). — `string (enum)`, one of: `queued`, `sent`, `delivered`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[event_key]",
                                                            "value": "order_confirmed",
                                                            "description": "Filter by event key string. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "customer",
                                                            "description": "Filter by audience/app (customer, provider, driver, admin = dashboard alerts, TD-173). — `string (enum)`, one of: `customer`, `provider`, `driver`, `admin`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Filter by attempt date from (ISO or Y-m-d). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-11-04",
                                                            "description": "Filter by attempt date to (ISO or Y-m-d). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 422 Invalid delivery filter parameters",
                                            "_joshen": {
                                                "route": "admin.notifications.deliveries.index",
                                                "name": "422 Invalid delivery filter parameters",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/deliveries",
                                                    "query": {
                                                        "filters": {
                                                            "channel": "smoke_signal"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationDeliveryLogTest::test_ac_admin_020_delivery_log_fails_on_invalid_filter"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/deliveries?filters[channel]=smoke_signal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "deliveries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[channel]",
                                                            "value": "smoke_signal"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.channel is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.channel\": [\n                \"The selected filters.channel is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"general_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications",
                                                "general"
                                            ],
                                            "query": [
                                                {
                                                    "key": "filters[status]",
                                                    "value": "sent",
                                                    "description": "Send status: `queued`, `sending`, `sent`, `failed`. — `string (enum)`, one of: `queued`, `sending`, `sent`, `failed`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[target]",
                                                    "value": "all",
                                                    "description": "Target type: `all`, `cities`, `users`. — `string (enum)`, one of: `all`, `cities`, `users`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[app]",
                                                    "value": "customer",
                                                    "description": "Only sends that went to this app: `customer`, `provider`, `driver`. — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[from]",
                                                    "value": "2026-11-01",
                                                    "description": "Created on or after this date (YYYY-MM-DD). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[to]",
                                                    "value": "2026-11-30",
                                                    "description": "Created on or before this date (YYYY-MM-DD). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Free text over the Arabic and English title and body. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.general.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `filters[status]` — Send status: `queued`, `sending`, `sent`, `failed`. — `string (enum)`, one of: `queued`, `sending`, `sent`, `failed` (optional)\n- `filters[target]` — Target type: `all`, `cities`, `users`. — `string (enum)`, one of: `all`, `cities`, `users` (optional)\n- `filters[app]` — Only sends that went to this app: `customer`, `provider`, `driver`. — `string (enum)`, one of: `customer`, `provider`, `driver` (optional)\n- `filters[from]` — Created on or after this date (YYYY-MM-DD). — `string (date)` (optional)\n- `filters[to]` — Created on or before this date (YYYY-MM-DD). — `string (date)` (optional)\n- `search` — Free text over the Arabic and English title and body. — `string` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `page` — Page number, starting at 1. — `integer` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `general_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` General notifications, newest first\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"General notifications retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1ba86-6824-70e9-b130-c9c1df96ef2a\",\n                \"title\": \"Provider news\",\n                \"body\": \"New tools\",\n                \"target\": {\n                    \"value\": \"all\",\n                    \"label\": \"All users\"\n                },\n                \"apps\": [\n                    {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    }\n                ],\n                \"status\": {\n                    \"value\": \"queued\",\n                    \"label\": \"Queued\"\n                },\n                \"recipients_count\": 1,\n                \"sent_count\": 0,\n                \"created_by\": {\n                    \"id\": \"01a1ba86-681c-7013-a4c2-5f03ccc07991\",\n                    \"name\": \"Elmo Collins\"\n                },\n                \"created_at\": \"2026-11-08T09:38:53+00:00\",\n                \"sent_at\": null\n            },\n            {\n                \"id\": \"01a1ba86-6802-7111-a545-9b26451ec61f\",\n                \"title\": \"Eid greetings\",\n                \"body\": \"Happy Eid\",\n                \"target\": {\n                    \"value\": \"all\",\n                    \"label\": \"All users\"\n                },\n                \"apps\": [\n                    {\n                        \"value\": \"customer\",\n                        \"label\": \"Customer\"\n                    }\n                ],\n                \"status\": {\n                    \"value\": \"sent\",\n                    \"label\": \"Sent\"\n                },\n                \"recipients_count\": 1,\n                \"sent_count\": 1,\n                \"created_by\": {\n                    \"id\": \"01a1ba86-67f9-70bc-905b-2baed83c5b6d\",\n                    \"name\": \"Dr. Olaf Koss Jr.\"\n                },\n                \"created_at\": \"2026-11-08T09:38:53+00:00\",\n                \"sent_at\": \"2026-11-08T09:38:53+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications/general?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications/general?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/general?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications/general\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 General notifications, newest first",
                                            "_joshen": {
                                                "route": "admin.notifications.general.index",
                                                "name": "General notifications, newest first",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_the_list_filters_by_status_app_and_search"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"General notifications retrieved successfully.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1ba86-6824-70e9-b130-c9c1df96ef2a\",\n                \"title\": \"Provider news\",\n                \"body\": \"New tools\",\n                \"target\": {\n                    \"value\": \"all\",\n                    \"label\": \"All users\"\n                },\n                \"apps\": [\n                    {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    }\n                ],\n                \"status\": {\n                    \"value\": \"queued\",\n                    \"label\": \"Queued\"\n                },\n                \"recipients_count\": 1,\n                \"sent_count\": 0,\n                \"created_by\": {\n                    \"id\": \"01a1ba86-681c-7013-a4c2-5f03ccc07991\",\n                    \"name\": \"Elmo Collins\"\n                },\n                \"created_at\": \"2026-11-08T09:38:53+00:00\",\n                \"sent_at\": null\n            },\n            {\n                \"id\": \"01a1ba86-6802-7111-a545-9b26451ec61f\",\n                \"title\": \"Eid greetings\",\n                \"body\": \"Happy Eid\",\n                \"target\": {\n                    \"value\": \"all\",\n                    \"label\": \"All users\"\n                },\n                \"apps\": [\n                    {\n                        \"value\": \"customer\",\n                        \"label\": \"Customer\"\n                    }\n                ],\n                \"status\": {\n                    \"value\": \"sent\",\n                    \"label\": \"Sent\"\n                },\n                \"recipients_count\": 1,\n                \"sent_count\": 1,\n                \"created_by\": {\n                    \"id\": \"01a1ba86-67f9-70bc-905b-2baed83c5b6d\",\n                    \"name\": \"Dr. Olaf Koss Jr.\"\n                },\n                \"created_at\": \"2026-11-08T09:38:53+00:00\",\n                \"sent_at\": \"2026-11-08T09:38:53+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/notifications/general?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/notifications/general?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/notifications/general?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/notifications/general\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "sent",
                                                            "description": "Send status: `queued`, `sending`, `sent`, `failed`. — `string (enum)`, one of: `queued`, `sending`, `sent`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[target]",
                                                            "value": "all",
                                                            "description": "Target type: `all`, `cities`, `users`. — `string (enum)`, one of: `all`, `cities`, `users`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "customer",
                                                            "description": "Only sends that went to this app: `customer`, `provider`, `driver`. — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[from]",
                                                            "value": "2026-11-01",
                                                            "description": "Created on or after this date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[to]",
                                                            "value": "2026-11-30",
                                                            "description": "Created on or before this date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free text over the Arabic and English title and body. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "sent",
                                                            "description": "Send status: `queued`, `sending`, `sent`, `failed`. — `string (enum)`, one of: `queued`, `sending`, `sent`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[target]",
                                                            "value": "all",
                                                            "description": "Target type: `all`, `cities`, `users`. — `string (enum)`, one of: `all`, `cities`, `users`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "customer",
                                                            "description": "Only sends that went to this app: `customer`, `provider`, `driver`. — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[from]",
                                                            "value": "2026-11-01",
                                                            "description": "Created on or after this date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[to]",
                                                            "value": "2026-11-30",
                                                            "description": "Created on or before this date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free text over the Arabic and English title and body. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "sent",
                                                            "description": "Send status: `queued`, `sending`, `sent`, `failed`. — `string (enum)`, one of: `queued`, `sending`, `sent`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[target]",
                                                            "value": "all",
                                                            "description": "Target type: `all`, `cities`, `users`. — `string (enum)`, one of: `all`, `cities`, `users`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "customer",
                                                            "description": "Only sends that went to this app: `customer`, `provider`, `driver`. — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[from]",
                                                            "value": "2026-11-01",
                                                            "description": "Created on or after this date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[to]",
                                                            "value": "2026-11-30",
                                                            "description": "Created on or before this date (YYYY-MM-DD). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free text over the Arabic and English title and body. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "admin.notifications.general.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general",
                                                    "query": {
                                                        "filters": {
                                                            "status": "nope"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_the_list_filters_by_status_app_and_search"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general?filters[status]=nope",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "nope"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "general_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"user_id\",\"Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\"],[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"general_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications",
                                                "general"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.general.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `target`\n- **Description:** Who receives it: `all` = every reachable user of `apps`; `cities` = those whose profile city is in `city_ids`; `users` = the people picked in `customer_ids` / `provider_ids` / `driver_ids`.\n- **Type:** `string (enum)`\n- **Allowed values:** `all`, `cities`, `users`\n- **Required:** required\n- **Example:** `all`\n- **Validation rules:** `required|string|in:all,cities,users`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:all,cities,users` — must be one of: all, cities, users.\n### `apps`\n- **Description:** Apps to notify for `all` / `cities`. Providers and drivers are reached only once approved (TD-173). Not sent for `users`.\n- **Type:** `array`\n- **Required:** conditional\n- **Example:** `[\"customer\",\"provider\"]`\n- **Validation rules:** `required_unless:target,users|prohibited_if:target,users|array|min:1`\n- `required_unless:target,users` — required unless target, users.\n- `prohibited_if:target,users` — custom validation rule.\n- `array` — must be an array.\n- `min:1` — must be at least 1.\n### `apps.*`\n- **Description:** One app: `customer`, `provider` or `driver`.\n- **Type:** `string (enum)`\n- **Allowed values:** `customer`, `provider`, `driver`\n- **Required:** optional\n- **Example:** `customer`\n- **Validation rules:** `string|distinct|in:customer,provider,driver`\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `in:customer,provider,driver` — must be one of: customer, provider, driver.\n### `city_ids`\n- **Description:** Cities (BRD city = governorates) for `target = cities`, 1 to 100.\n- **Type:** `array`\n- **Required:** conditional\n- **Example:** `[\"{{governorate_id}}\"]`\n- **Validation rules:** `required_if:target,cities|prohibited_unless:target,cities|array|min:1|max:100`\n- `required_if:target,cities` — required when target, cities.\n- `prohibited_unless:target,cities` — custom validation rule.\n- `array` — must be an array.\n- `min:1` — must be at least 1.\n- `max:100` — must not exceed 100.\n### `city_ids.*`\n- **Description:** City uuid from `GET /admin/governorates`.\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `uuid|exists:governorates,uuid`\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `customer_ids`\n- **Description:** Customers to notify for `target = users`: the `id` of `GET /admin/users` rows. Up to 500 picks over the three lists.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{user_id}}\"]`\n- **Validation rules:** `prohibited_unless:target,users|array|max:500`\n- `prohibited_unless:target,users` — custom validation rule.\n- `array` — must be an array.\n- `max:500` — must not exceed 500.\n### `customer_ids.*`\n- **Description:** Customer (user) uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `users` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{user_id}}`\n- **Validation rules:** `distinct|uuid|exists:users,uuid`\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:users,uuid` — must reference an existing record (users, uuid).\n### `provider_ids`\n- **Description:** Providers to notify for `target = users`: the `id` of `GET /admin/providers` rows; each must be approved.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{provider_id}}\"]`\n- **Validation rules:** `prohibited_unless:target,users|array|max:500`\n- `prohibited_unless:target,users` — custom validation rule.\n- `array` — must be an array.\n- `max:500` — must not exceed 500.\n### `provider_ids.*`\n- **Description:** Provider uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `providers` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{provider_id}}`\n- **Validation rules:** `distinct|uuid|exists:providers,uuid`\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:providers,uuid` — must reference an existing record (providers, uuid).\n### `driver_ids`\n- **Description:** Drivers to notify for `target = users`: the `id` of `GET /admin/drivers` rows; each must be approved.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{driver_id}}\"]`\n- **Validation rules:** `prohibited_unless:target,users|array|max:500`\n- `prohibited_unless:target,users` — custom validation rule.\n- `array` — must be an array.\n- `max:500` — must not exceed 500.\n### `driver_ids.*`\n- **Description:** Driver uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `drivers` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{driver_id}}`\n- **Validation rules:** `distinct|uuid|exists:drivers,uuid`\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:drivers,uuid` — must reference an existing record (drivers, uuid).\n### `ar`\n- **Description:** Arabic text (required). Recipients whose app language is Arabic, or who have no English text, get this.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"title\":\"عرض خاص لعملائنا\",\"body\":\"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"}`\n- **Validation rules:** `required|array`\n- `required` — must be provided.\n- `array` — must be an array.\n### `ar.title`\n- **Description:** Arabic title, max 200 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `عرض خاص لعملائنا`\n- **Validation rules:** `required|string|max:200`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `ar.body`\n- **Description:** Arabic body, max 1000 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.`\n- **Validation rules:** `required|string|max:1000`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n### `en`\n- **Description:** English text (optional; title and body together).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"A special offer for you\",\"body\":\"20% off hair services until the end of the week.\"}`\n- **Validation rules:** `sometimes|nullable|array`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `array` — must be an array.\n### `en.title`\n- **Description:** English title, max 200 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `A special offer for you`\n- **Validation rules:** `nullable|required_with:en.body|string|max:200`\n- `nullable` — may be null.\n- `required_with:en.body` — required when en.body is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `en.body`\n- **Description:** English body, max 1000 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `20% off hair services until the end of the week.`\n- **Validation rules:** `nullable|required_with:en.title|string|max:1000`\n- `nullable` — may be null.\n- `required_with:en.title` — required when en.title is present.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{user_id}}` — Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Saves `general_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` General notification queued for all customers and providers\n- `201` General notification queued for one city\n- `201` General notification queued for picked providers\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` A picked driver is not approved — `error_code: NOTIFICATION_RECIPIENTS_UNREACHABLE`\n- `422` Empty payload\n- `422` No approved provider to notify — `error_code: NOTIFICATION_NO_RECIPIENTS`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"General notification queued for sending.\",\n    \"data\": {\n        \"id\": \"01a1ba86-4431-70c8-a1ec-930ba46fcbb9\",\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\",\n        \"target\": {\n            \"value\": \"all\",\n            \"label\": \"All users\"\n        },\n        \"apps\": [\n            {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            }\n        ],\n        \"status\": {\n            \"value\": \"queued\",\n            \"label\": \"Queued\"\n        },\n        \"recipients_count\": 3,\n        \"sent_count\": 0,\n        \"created_by\": {\n            \"id\": \"01a1ba86-43df-70b0-8973-aa03371e8a6c\",\n            \"name\": \"Dr. Weston Dicki DDS\"\n        },\n        \"created_at\": \"2026-11-08T09:38:43+00:00\",\n        \"sent_at\": null,\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"عرض خاص\",\n                \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n            },\n            \"en\": {\n                \"title\": \"A special offer\",\n                \"body\": \"20% off hair services until the end of the week.\"\n            }\n        },\n        \"cities\": [],\n        \"recipients_by_app\": {\n            \"customer\": 2,\n            \"provider\": 1,\n            \"driver\": 0\n        },\n        \"failure_reason\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"target\": \"all\",\n    \"apps\": [\n        \"customer\",\n        \"provider\"\n    ],\n    \"city_ids\": [\n        \"{{governorate_id}}\"\n    ],\n    \"customer_ids\": [\n        \"{{user_id}}\"\n    ],\n    \"provider_ids\": [\n        \"{{provider_id}}\"\n    ],\n    \"driver_ids\": [\n        \"{{driver_id}}\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص لعملائنا\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer for you\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 General notification queued for all customers and providers",
                                            "_joshen": {
                                                "route": "admin.notifications.general.store",
                                                "name": "General notification queued for all customers and providers",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general",
                                                    "query": null,
                                                    "body": {
                                                        "target": "all",
                                                        "apps": [
                                                            "customer",
                                                            "provider"
                                                        ],
                                                        "ar": {
                                                            "title": "عرض خاص",
                                                            "body": "خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع."
                                                        },
                                                        "en": {
                                                            "title": "A special offer",
                                                            "body": "20% off hair services until the end of the week."
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_admin_sends_to_all_customers_and_approved_providers_only"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target\": \"all\",\n    \"apps\": [\n        \"customer\",\n        \"provider\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"General notification queued for sending.\",\n    \"data\": {\n        \"id\": \"01a1ba86-4431-70c8-a1ec-930ba46fcbb9\",\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\",\n        \"target\": {\n            \"value\": \"all\",\n            \"label\": \"All users\"\n        },\n        \"apps\": [\n            {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            }\n        ],\n        \"status\": {\n            \"value\": \"queued\",\n            \"label\": \"Queued\"\n        },\n        \"recipients_count\": 3,\n        \"sent_count\": 0,\n        \"created_by\": {\n            \"id\": \"01a1ba86-43df-70b0-8973-aa03371e8a6c\",\n            \"name\": \"Dr. Weston Dicki DDS\"\n        },\n        \"created_at\": \"2026-11-08T09:38:43+00:00\",\n        \"sent_at\": null,\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"عرض خاص\",\n                \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n            },\n            \"en\": {\n                \"title\": \"A special offer\",\n                \"body\": \"20% off hair services until the end of the week.\"\n            }\n        },\n        \"cities\": [],\n        \"recipients_by_app\": {\n            \"customer\": 2,\n            \"provider\": 1,\n            \"driver\": 0\n        },\n        \"failure_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 General notification queued for one city",
                                            "_joshen": {
                                                "route": "admin.notifications.general.store",
                                                "name": "General notification queued for one city",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general",
                                                    "query": null,
                                                    "body": {
                                                        "target": "cities",
                                                        "apps": [
                                                            "driver",
                                                            "customer"
                                                        ],
                                                        "city_ids": [
                                                            "01a1ba86-47da-7245-957e-5e613b1332e2"
                                                        ],
                                                        "ar": {
                                                            "title": "عرض خاص",
                                                            "body": "خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع."
                                                        },
                                                        "en": {
                                                            "title": "A special offer",
                                                            "body": "20% off hair services until the end of the week."
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_a_city_target_reaches_only_profiles_in_those_cities"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target\": \"cities\",\n    \"apps\": [\n        \"driver\",\n        \"customer\"\n    ],\n    \"city_ids\": [\n        \"01a1ba86-47da-7245-957e-5e613b1332e2\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"General notification queued for sending.\",\n    \"data\": {\n        \"id\": \"01a1ba86-4818-7119-a4da-1f9727852e54\",\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\",\n        \"target\": {\n            \"value\": \"cities\",\n            \"label\": \"By city\"\n        },\n        \"apps\": [\n            {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            {\n                \"value\": \"driver\",\n                \"label\": \"Driver\"\n            }\n        ],\n        \"status\": {\n            \"value\": \"queued\",\n            \"label\": \"Queued\"\n        },\n        \"recipients_count\": 2,\n        \"sent_count\": 0,\n        \"created_by\": {\n            \"id\": \"01a1ba86-480a-7112-83aa-3492ae832a41\",\n            \"name\": \"Mr. Harvey Grant\"\n        },\n        \"created_at\": \"2026-11-08T09:38:44+00:00\",\n        \"sent_at\": null,\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"عرض خاص\",\n                \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n            },\n            \"en\": {\n                \"title\": \"A special offer\",\n                \"body\": \"20% off hair services until the end of the week.\"\n            }\n        },\n        \"cities\": [\n            {\n                \"id\": \"01a1ba86-47da-7245-957e-5e613b1332e2\",\n                \"name\": \"Sample-tura02620805\"\n            }\n        ],\n        \"recipients_by_app\": {\n            \"customer\": 1,\n            \"provider\": 0,\n            \"driver\": 1\n        },\n        \"failure_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 General notification queued for picked providers",
                                            "_joshen": {
                                                "route": "admin.notifications.general.store",
                                                "name": "General notification queued for picked providers",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general",
                                                    "query": null,
                                                    "body": {
                                                        "target": "users",
                                                        "provider_ids": [
                                                            "01a1ba86-4a72-7096-9743-e3946c559ed8"
                                                        ],
                                                        "ar": {
                                                            "title": "عرض خاص",
                                                            "body": "خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع."
                                                        },
                                                        "en": {
                                                            "title": "A special offer",
                                                            "body": "20% off hair services until the end of the week."
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_picked_people_are_notified_in_the_app_they_were_picked_from"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target\": \"users\",\n    \"provider_ids\": [\n        \"01a1ba86-4a72-7096-9743-e3946c559ed8\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"General notification queued for sending.\",\n    \"data\": {\n        \"id\": \"01a1ba86-4a7f-722f-beb1-a4e8e963f727\",\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\",\n        \"target\": {\n            \"value\": \"users\",\n            \"label\": \"Selected users\"\n        },\n        \"apps\": [\n            {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            }\n        ],\n        \"status\": {\n            \"value\": \"queued\",\n            \"label\": \"Queued\"\n        },\n        \"recipients_count\": 1,\n        \"sent_count\": 0,\n        \"created_by\": {\n            \"id\": \"01a1ba86-4a74-7315-9296-efa845cc22e9\",\n            \"name\": \"Vinnie Kunze\"\n        },\n        \"created_at\": \"2026-11-08T09:38:45+00:00\",\n        \"sent_at\": null,\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"عرض خاص\",\n                \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n            },\n            \"en\": {\n                \"title\": \"A special offer\",\n                \"body\": \"20% off hair services until the end of the week.\"\n            }\n        },\n        \"cities\": [],\n        \"recipients_by_app\": {\n            \"customer\": 0,\n            \"provider\": 1,\n            \"driver\": 0\n        },\n        \"failure_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target\": \"all\",\n    \"apps\": [\n        \"customer\",\n        \"provider\"\n    ],\n    \"city_ids\": [\n        \"{{governorate_id}}\"\n    ],\n    \"customer_ids\": [\n        \"{{user_id}}\"\n    ],\n    \"provider_ids\": [\n        \"{{provider_id}}\"\n    ],\n    \"driver_ids\": [\n        \"{{driver_id}}\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص لعملائنا\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer for you\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target\": \"all\",\n    \"apps\": [\n        \"customer\",\n        \"provider\"\n    ],\n    \"city_ids\": [\n        \"{{governorate_id}}\"\n    ],\n    \"customer_ids\": [\n        \"{{user_id}}\"\n    ],\n    \"provider_ids\": [\n        \"{{provider_id}}\"\n    ],\n    \"driver_ids\": [\n        \"{{driver_id}}\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص لعملائنا\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer for you\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target\": \"all\",\n    \"apps\": [\n        \"customer\",\n        \"provider\"\n    ],\n    \"city_ids\": [\n        \"{{governorate_id}}\"\n    ],\n    \"customer_ids\": [\n        \"{{user_id}}\"\n    ],\n    \"provider_ids\": [\n        \"{{provider_id}}\"\n    ],\n    \"driver_ids\": [\n        \"{{driver_id}}\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص لعملائنا\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer for you\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 A picked driver is not approved",
                                            "_joshen": {
                                                "route": "admin.notifications.general.store",
                                                "name": "A picked driver is not approved",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general",
                                                    "query": null,
                                                    "body": {
                                                        "target": "users",
                                                        "customer_ids": [
                                                            "01a1ba86-4cbf-73cd-b102-d0073e1bc496"
                                                        ],
                                                        "driver_ids": [
                                                            "01a1ba86-4cc3-7327-871c-3cf4a495468e"
                                                        ],
                                                        "ar": {
                                                            "title": "عرض خاص",
                                                            "body": "خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع."
                                                        },
                                                        "en": {
                                                            "title": "A special offer",
                                                            "body": "20% off hair services until the end of the week."
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_picking_someone_who_cannot_be_notified_refuses_the_whole_send_with_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target\": \"users\",\n    \"customer_ids\": [\n        \"01a1ba86-4cbf-73cd-b102-d0073e1bc496\"\n    ],\n    \"driver_ids\": [\n        \"01a1ba86-4cc3-7327-871c-3cf4a495468e\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Some selected recipients cannot receive notifications (account not approved or inactive): 1.\",\n    \"data\": {\n        \"error_code\": \"NOTIFICATION_RECIPIENTS_UNREACHABLE\",\n        \"correlation_id\": \"7d061b24-717e-4fe7-a413-496508f04f5f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Empty payload",
                                            "_joshen": {
                                                "route": "admin.notifications.general.store",
                                                "name": "Empty payload",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_invalid_payloads_are_refused_with_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Target field is required. (and 4 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"target\": [\n                \"The Target field is required.\"\n            ],\n            \"apps\": [\n                \"The Apps field is required unless Target is in users.\"\n            ],\n            \"ar\": [\n                \"The Arabic data field is required.\"\n            ],\n            \"ar.title\": [\n                \"The Arabic title field is required.\"\n            ],\n            \"ar.body\": [\n                \"The Arabic body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 No approved provider to notify",
                                            "_joshen": {
                                                "route": "admin.notifications.general.store",
                                                "name": "No approved provider to notify",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general",
                                                    "query": null,
                                                    "body": {
                                                        "target": "all",
                                                        "apps": [
                                                            "provider"
                                                        ],
                                                        "ar": {
                                                            "title": "عرض خاص",
                                                            "body": "خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع."
                                                        },
                                                        "en": {
                                                            "title": "A special offer",
                                                            "body": "20% off hair services until the end of the week."
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_a_send_that_reaches_nobody_is_refused_with_422_and_writes_nothing"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target\": \"all\",\n    \"apps\": [\n        \"provider\"\n    ],\n    \"ar\": {\n        \"title\": \"عرض خاص\",\n        \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n    },\n    \"en\": {\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"No one can receive this notification with these choices.\",\n    \"data\": {\n        \"error_code\": \"NOTIFICATION_NO_RECIPIENTS\",\n        \"correlation_id\": \"c93a06a5-037b-4c4f-b2b6-fdba7d437141\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "general_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "user_id",
                                                "set_by": [
                                                    "admin.users.index",
                                                    "admin.users.view"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                            },
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"general_id\",\"Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"general_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications",
                                                "general",
                                                ":broadcast"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "broadcast",
                                                    "value": "{{general_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.general.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{general_id}}` — Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `general_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` General notification details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Unknown general notification\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"General notification retrieved successfully.\",\n    \"data\": {\n        \"id\": \"01a1ba86-6a63-73f8-a278-30b578c930d4\",\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\",\n        \"target\": {\n            \"value\": \"all\",\n            \"label\": \"All users\"\n        },\n        \"apps\": [\n            {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            }\n        ],\n        \"status\": {\n            \"value\": \"queued\",\n            \"label\": \"Queued\"\n        },\n        \"recipients_count\": 1,\n        \"sent_count\": 0,\n        \"created_by\": {\n            \"id\": \"01a1ba86-6a5a-7100-98ec-55ac95bbd3fd\",\n            \"name\": \"Mrs. Halie Casper Jr.\"\n        },\n        \"created_at\": \"2026-11-08T09:38:53+00:00\",\n        \"sent_at\": null,\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"عرض خاص\",\n                \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n            },\n            \"en\": {\n                \"title\": \"A special offer\",\n                \"body\": \"20% off hair services until the end of the week.\"\n            }\n        },\n        \"cities\": [],\n        \"recipients_by_app\": {\n            \"customer\": 1,\n            \"provider\": 0,\n            \"driver\": 0\n        },\n        \"failure_reason\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 General notification details",
                                            "_joshen": {
                                                "route": "admin.notifications.general.show",
                                                "name": "General notification details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general/01a1ba86-6a63-73f8-a278-30b578c930d4",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_details_show_the_send_and_an_unknown_or_integer_id_is_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/01a1ba86-6a63-73f8-a278-30b578c930d4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        "01a1ba86-6a63-73f8-a278-30b578c930d4"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"General notification retrieved successfully.\",\n    \"data\": {\n        \"id\": \"01a1ba86-6a63-73f8-a278-30b578c930d4\",\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\",\n        \"target\": {\n            \"value\": \"all\",\n            \"label\": \"All users\"\n        },\n        \"apps\": [\n            {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            }\n        ],\n        \"status\": {\n            \"value\": \"queued\",\n            \"label\": \"Queued\"\n        },\n        \"recipients_count\": 1,\n        \"sent_count\": 0,\n        \"created_by\": {\n            \"id\": \"01a1ba86-6a5a-7100-98ec-55ac95bbd3fd\",\n            \"name\": \"Mrs. Halie Casper Jr.\"\n        },\n        \"created_at\": \"2026-11-08T09:38:53+00:00\",\n        \"sent_at\": null,\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"عرض خاص\",\n                \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n            },\n            \"en\": {\n                \"title\": \"A special offer\",\n                \"body\": \"20% off hair services until the end of the week.\"\n            }\n        },\n        \"cities\": [],\n        \"recipients_by_app\": {\n            \"customer\": 1,\n            \"provider\": 0,\n            \"driver\": 0\n        },\n        \"failure_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        ":broadcast"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "broadcast",
                                                            "value": "{{general_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        ":broadcast"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "broadcast",
                                                            "value": "{{general_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        ":broadcast"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "broadcast",
                                                            "value": "{{general_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown general notification",
                                            "_joshen": {
                                                "route": "admin.notifications.general.show",
                                                "name": "Unknown general notification",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general/9838eaa3-dee0-3593-9703-b6fe67eace80",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_173_details_show_the_send_and_an_unknown_or_integer_id_is_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/9838eaa3-dee0-3593-9703-b6fe67eace80",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        "9838eaa3-dee0-3593-9703-b6fe67eace80"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "general_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "general_id",
                                                "set_by": [
                                                    "admin.notifications.general.index",
                                                    "admin.notifications.general.store",
                                                    "admin.notifications.general.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Retry",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"general_id\",\"Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast/retry",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "notifications",
                                                "general",
                                                ":broadcast",
                                                "retry"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "broadcast",
                                                    "value": "{{general_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.notifications.general.retry`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{general_id}}` — Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Failed general notification queued again\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Unknown general notification\n- `409` Send is not failed — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"General notification queued again.\",\n    \"data\": {\n        \"id\": \"01a1ba86-6006-7201-b866-0feda0b38d19\",\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\",\n        \"target\": {\n            \"value\": \"all\",\n            \"label\": \"All users\"\n        },\n        \"apps\": [\n            {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            }\n        ],\n        \"status\": {\n            \"value\": \"queued\",\n            \"label\": \"Queued\"\n        },\n        \"recipients_count\": 2,\n        \"sent_count\": 2,\n        \"created_by\": {\n            \"id\": \"01a1ba86-5ffb-70e1-a342-1c660b0d33a5\",\n            \"name\": \"Mr. Wilford Donnelly IV\"\n        },\n        \"created_at\": \"2026-11-08T09:38:51+00:00\",\n        \"sent_at\": \"2026-11-08T09:38:51+00:00\",\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"عرض خاص\",\n                \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n            },\n            \"en\": {\n                \"title\": \"A special offer\",\n                \"body\": \"20% off hair services until the end of the week.\"\n            }\n        },\n        \"cities\": [],\n        \"recipients_by_app\": {\n            \"customer\": 2,\n            \"provider\": 0,\n            \"driver\": 0\n        },\n        \"failure_reason\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Failed general notification queued again",
                                            "_joshen": {
                                                "route": "admin.notifications.general.retry",
                                                "name": "Failed general notification queued again",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general/01a1ba86-6006-7201-b866-0feda0b38d19/retry",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_174_a_failed_send_is_retried_for_the_recipients_not_yet_notified"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/01a1ba86-6006-7201-b866-0feda0b38d19/retry",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        "01a1ba86-6006-7201-b866-0feda0b38d19",
                                                        "retry"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"General notification queued again.\",\n    \"data\": {\n        \"id\": \"01a1ba86-6006-7201-b866-0feda0b38d19\",\n        \"title\": \"A special offer\",\n        \"body\": \"20% off hair services until the end of the week.\",\n        \"target\": {\n            \"value\": \"all\",\n            \"label\": \"All users\"\n        },\n        \"apps\": [\n            {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            }\n        ],\n        \"status\": {\n            \"value\": \"queued\",\n            \"label\": \"Queued\"\n        },\n        \"recipients_count\": 2,\n        \"sent_count\": 2,\n        \"created_by\": {\n            \"id\": \"01a1ba86-5ffb-70e1-a342-1c660b0d33a5\",\n            \"name\": \"Mr. Wilford Donnelly IV\"\n        },\n        \"created_at\": \"2026-11-08T09:38:51+00:00\",\n        \"sent_at\": \"2026-11-08T09:38:51+00:00\",\n        \"translations\": {\n            \"ar\": {\n                \"title\": \"عرض خاص\",\n                \"body\": \"خصم 20٪ على خدمات الشعر حتى نهاية الأسبوع.\"\n            },\n            \"en\": {\n                \"title\": \"A special offer\",\n                \"body\": \"20% off hair services until the end of the week.\"\n            }\n        },\n        \"cities\": [],\n        \"recipients_by_app\": {\n            \"customer\": 2,\n            \"provider\": 0,\n            \"driver\": 0\n        },\n        \"failure_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast/retry",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        ":broadcast",
                                                        "retry"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "broadcast",
                                                            "value": "{{general_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast/retry",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        ":broadcast",
                                                        "retry"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "broadcast",
                                                            "value": "{{general_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast/retry",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        ":broadcast",
                                                        "retry"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "broadcast",
                                                            "value": "{{general_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown general notification",
                                            "_joshen": {
                                                "route": "admin.notifications.general.retry",
                                                "name": "Unknown general notification",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general/a3ee1bae-0e0a-32bd-b15d-69009a3622e6/retry",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_174_only_a_failed_send_can_be_retried_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/a3ee1bae-0e0a-32bd-b15d-69009a3622e6/retry",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        "a3ee1bae-0e0a-32bd-b15d-69009a3622e6",
                                                        "retry"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "409 Send is not failed",
                                            "_joshen": {
                                                "route": "admin.notifications.general.retry",
                                                "name": "Send is not failed",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/notifications/general/01a1ba86-646b-70a2-84c4-ec3eb4fe07b6/retry",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationBroadcastTest::test_td_174_only_a_failed_send_can_be_retried_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/01a1ba86-646b-70a2-84c4-ec3eb4fe07b6/retry",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        "01a1ba86-646b-70a2-84c4-ec3eb4fe07b6",
                                                        "retry"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Only a failed general notification can be retried.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"a8949b61-89c3-4184-b54c-93befa94d29d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/notifications/general/:broadcast/retry",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "notifications",
                                                        "general",
                                                        ":broadcast",
                                                        "retry"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "broadcast",
                                                            "value": "{{general_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "general_id",
                                                "set_by": [
                                                    "admin.notifications.general.index",
                                                    "admin.notifications.general.store",
                                                    "admin.notifications.general.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/notifications/general, POST /api/v1/admin/notifications/general, GET /api/v1/admin/notifications/general/{broadcast}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Contact messages",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"contact_message_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/contact-messages?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "contact-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_read]",
                                                    "value": "0",
                                                    "description": "Filter by read status: 0 or 1",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.contact-messages.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_read]` — Filter by read status: 0 or 1 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `contact_message_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Response format (illustrative, not captured):**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"messages\": [\n            {\n                \"id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n                \"name\": \"نورة العتيبي\",\n                \"email\": \"client@info.com\",\n                \"subject\": \"استفسار عن حجز باقة عروس\",\n                \"message\": \"أود الاستفسار عن إمكانية حجز باقة العروس ليوم الجمعة القادم.\",\n                \"is_read\": true,\n                \"reply\": \"شكراً لتواصلك معنا. يمكنك الحجز عبر التطبيق باختيار باقة العروس وتحديد موعد مناسب.\",\n                \"created_at\": \"2026-10-21 14:00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://127.0.0.1:8000/api/v1/admin/contact-messages?page=1\",\n            \"last\": \"http://127.0.0.1:8000/api/v1/admin/contact-messages?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"path\": \"http://127.0.0.1:8000/api/v1/admin/contact-messages\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 OK (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_read]",
                                                            "value": "0",
                                                            "description": "Filter by read status: 0 or 1",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"messages\": [\n            {\n                \"id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n                \"name\": \"نورة العتيبي\",\n                \"email\": \"client@info.com\",\n                \"subject\": \"استفسار عن حجز باقة عروس\",\n                \"message\": \"أود الاستفسار عن إمكانية حجز باقة العروس ليوم الجمعة القادم.\",\n                \"is_read\": true,\n                \"reply\": \"شكراً لتواصلك معنا. يمكنك الحجز عبر التطبيق باختيار باقة العروس وتحديد موعد مناسب.\",\n                \"created_at\": \"2026-10-21 14:00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://127.0.0.1:8000/api/v1/admin/contact-messages?page=1\",\n            \"last\": \"http://127.0.0.1:8000/api/v1/admin/contact-messages?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"path\": \"http://127.0.0.1:8000/api/v1/admin/contact-messages\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_read]",
                                                            "value": "0",
                                                            "description": "Filter by read status: 0 or 1",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_read]",
                                                            "value": "0",
                                                            "description": "Filter by read status: 0 or 1",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_read]",
                                                            "value": "0",
                                                            "description": "Filter by read status: 0 or 1",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "contact_message_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"contact_message_id\",\"Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"contact_message_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "contact-messages",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{contact_message_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.contact-messages.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{contact_message_id}}` — Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `contact_message_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Response format (illustrative, not captured):**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n        \"name\": \"نورة العتيبي\",\n        \"email\": \"client@info.com\",\n        \"subject\": \"استفسار عن حجز باقة عروس\",\n        \"message\": \"أود الاستفسار عن إمكانية حجز باقة العروس ليوم الجمعة القادم.\",\n        \"is_read\": true,\n        \"reply\": \"شكراً لتواصلك معنا. يمكنك الحجز عبر التطبيق باختيار باقة العروس وتحديد موعد مناسب.\",\n        \"created_at\": \"2026-10-21 14:00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 OK (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n        \"name\": \"نورة العتيبي\",\n        \"email\": \"client@info.com\",\n        \"subject\": \"استفسار عن حجز باقة عروس\",\n        \"message\": \"أود الاستفسار عن إمكانية حجز باقة العروس ليوم الجمعة القادم.\",\n        \"is_read\": true,\n        \"reply\": \"شكراً لتواصلك معنا. يمكنك الحجز عبر التطبيق باختيار باقة العروس وتحديد موعد مناسب.\",\n        \"created_at\": \"2026-10-21 14:00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "contact_message_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "contact_message_id",
                                                "set_by": [
                                                    "admin.contact-messages.index",
                                                    "admin.contact-messages.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reply",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"contact_message_id\",\"Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/contact-messages/:id/reply",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "contact-messages",
                                                ":id",
                                                "reply"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{contact_message_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.contact-messages.reply`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reply`\n- **Description:** Reply _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|string|max:5000`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:5000` — must not exceed 5000.\n\n**Variables:**\n- Uses `{{contact_message_id}}` — Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Response format (illustrative, not captured):**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n        \"name\": \"نورة العتيبي\",\n        \"email\": \"client@info.com\",\n        \"subject\": \"استفسار عن حجز باقة عروس\",\n        \"message\": \"أود الاستفسار عن إمكانية حجز باقة العروس ليوم الجمعة القادم.\",\n        \"is_read\": true,\n        \"reply\": \"شكراً لتواصلك معنا. يمكنك الحجز عبر التطبيق باختيار باقة العروس وتحديد موعد مناسب.\",\n        \"created_at\": \"2026-10-21 14:00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reply\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 OK (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id/reply",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id",
                                                        "reply"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reply\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n        \"name\": \"نورة العتيبي\",\n        \"email\": \"client@info.com\",\n        \"subject\": \"استفسار عن حجز باقة عروس\",\n        \"message\": \"أود الاستفسار عن إمكانية حجز باقة العروس ليوم الجمعة القادم.\",\n        \"is_read\": true,\n        \"reply\": \"شكراً لتواصلك معنا. يمكنك الحجز عبر التطبيق باختيار باقة العروس وتحديد موعد مناسب.\",\n        \"created_at\": \"2026-10-21 14:00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id/reply",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id",
                                                        "reply"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reply\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id/reply",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id",
                                                        "reply"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reply\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id/reply",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id",
                                                        "reply"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reply\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id/reply",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id",
                                                        "reply"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reply\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "contact_message_id",
                                                "set_by": [
                                                    "admin.contact-messages.index",
                                                    "admin.contact-messages.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"contact_message_id\",\"Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "contact-messages",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{contact_message_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.contact-messages.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{contact_message_id}}` — Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Response format (illustrative, not captured):**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 OK (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/contact-messages/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "contact-messages",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{contact_message_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "contact_message_id",
                                                "set_by": [
                                                    "admin.contact-messages.index",
                                                    "admin.contact-messages.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/contact-messages, GET /api/v1/admin/contact-messages/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "System",
                    "item": [
                        {
                            "name": "Settings",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/settings?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "settings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.settings.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Settings Search By Key\n- `200` Settings with platform logo\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Settings retrieved\",\n    \"data\": {\n        \"app\": [\n            {\n                \"id\": \"01a17cc5-7c7b-73c2-b6a1-4a8348d70c13\",\n                \"key\": \"default_currency\",\n                \"type\": \"string\",\n                \"value\": \"SAR\",\n                \"group\": \"app\",\n                \"metadata\": null,\n                \"created_at\": \"2026-10-27T09:51:19.000000Z\",\n                \"updated_at\": \"2026-10-27T09:51:19.000000Z\"\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Settings Search By Key",
                                            "_joshen": {
                                                "route": "admin.settings.index",
                                                "name": "Settings Search By Key",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": {
                                                        "search": "currency",
                                                        "page": 1
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingsSearchTest::test_ac_admin_025_settings_index_searches_by_key"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings?search=currency&page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "search",
                                                            "value": "currency"
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings retrieved\",\n    \"data\": {\n        \"app\": [\n            {\n                \"id\": \"01a17cc5-7c7b-73c2-b6a1-4a8348d70c13\",\n                \"key\": \"default_currency\",\n                \"type\": \"string\",\n                \"value\": \"SAR\",\n                \"group\": \"app\",\n                \"metadata\": null,\n                \"created_at\": \"2026-10-27T09:51:19.000000Z\",\n                \"updated_at\": \"2026-10-27T09:51:19.000000Z\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "200 Settings with platform logo",
                                            "_joshen": {
                                                "route": "admin.settings.index",
                                                "name": "Settings with platform logo",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": {
                                                        "filters": {
                                                            "group": "app"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingTypesTest::test_ac_admin_025_logo_is_saved_and_exposed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings?filters[group]=app",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[group]",
                                                            "value": "app"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings retrieved\",\n    \"data\": {\n        \"app\": [\n            {\n                \"id\": \"01a1bfc0-5961-7199-bf44-545da866e256\",\n                \"key\": \"app_description\",\n                \"type\": \"string\",\n                \"value\": \"منصة حجز خدمات التجميل والعناية الشخصية المنزلية في المملكة العربية السعودية\",\n                \"group\": \"app\",\n                \"metadata\": null,\n                \"created_at\": \"2026-11-09T10:00:16.000000Z\",\n                \"updated_at\": \"2026-11-09T10:00:16.000000Z\"\n            },\n            {\n                \"id\": \"01a1bfc0-449c-72ed-a1a1-62b29da41195\",\n                \"key\": \"app_logo\",\n                \"type\": \"media\",\n                \"value\": \"test-logo\",\n                \"group\": \"app\",\n                \"metadata\": null,\n                \"created_at\": \"2026-11-09T10:00:11.000000Z\",\n                \"updated_at\": \"2026-11-09T10:00:16.000000Z\",\n                \"url\": \"http://localhost/storage/logo.png\"\n            },\n            {\n                \"id\": \"01a1bfc0-5960-71b1-95a9-661bbd235726\",\n                \"key\": \"app_name\",\n                \"type\": \"string\",\n                \"value\": \"Joshen\",\n                \"group\": \"app\",\n                \"metadata\": null,\n                \"created_at\": \"2026-11-09T10:00:16.000000Z\",\n                \"updated_at\": \"2026-11-09T10:00:16.000000Z\"\n            },\n            {\n                \"id\": \"01a1bfc0-5963-7161-96b5-40a359c33938\",\n                \"key\": \"default_currency\",\n                \"type\": \"string\",\n                \"value\": \"SAR\",\n                \"group\": \"app\",\n                \"metadata\": null,\n                \"created_at\": \"2026-11-09T10:00:16.000000Z\",\n                \"updated_at\": \"2026-11-09T10:00:16.000000Z\"\n            },\n            {\n                \"id\": \"01a1bfc0-5962-727e-9343-33807661b89d\",\n                \"key\": \"default_locale\",\n                \"type\": \"string\",\n                \"value\": \"ar\",\n                \"group\": \"app\",\n                \"metadata\": null,\n                \"created_at\": \"2026-11-09T10:00:16.000000Z\",\n                \"updated_at\": \"2026-11-09T10:00:16.000000Z\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/settings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "settings"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.settings.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `settings`\n- **Description:** Settings to update atomically.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[{\"key\":\"value\",\"value\":\"value\"}]`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `settings.*.key`\n- **Description:** An existing app_configs key, as returned by `GET /settings`; an unknown key is a 422 and nothing is saved. Booking keys obey TD-92.\n- **Type:** `string`\n- **Refers to:** an existing `app_configs`.`key` value\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `bail|sometimes|string|max:100|exists:app_configs,key`\n- `bail` — custom validation rule.\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `exists:app_configs,key` — must reference an existing record (app_configs, key).\n### `settings.*.value`\n- **Description:** Value matching its stored type: numeric string, integer string, 0/1, JSON, image upload hash, or string (TD-170). Keys with a domain validator (booking, Joshen, trip, dispatch, payout, wallet, payment method, VAT, notification) return that validator's error code (TD-172). Dispatch limits also accept JSON integers from 1 to 600.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `nullable|string`\n- `nullable` — may be null.\n- `string` — must be text.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Booking Settings Delay Updated\n- `200` Booking Settings Updated\n- `200` Dispatch rate updated\n- `200` Featured expiry reminder days saved\n- `200` Payment Method Switched Off\n- `200` Payout Min Amount Updated\n- `200` Platform logo updated\n- `200` Wallet Payment Setting Disabled\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Booking Settings Deadlines Exceed Lead — `error_code: INVALID_BOOKING_SETTINGS`\n- `422` Booking Settings Delay Lead Exceeds Early Start — `error_code: INVALID_BOOKING_SETTINGS`\n- `422` Featured expiry reminder days not positive — `error_code: INVALID_NOTIFICATION_SETTINGS`\n- `422` Generic Settings Reject Malformed Joshan Brackets — `error_code: JOSHEN_CONFIG_UNAVAILABLE`\n- `422` Invalid dispatch rate — `error_code: INVALID_BOOKING_SETTINGS`\n- `422` Invalid setting type — `error_code: VALIDATION_FAILED`\n- `422` Malformed setting item — `error_code: VALIDATION_FAILED`\n- `422` Nearby driver alert setting out of range — `error_code: INVALID_NOTIFICATION_SETTINGS`\n- `422` Payment Method Invalid Value — `error_code: VALIDATION_FAILED`\n- `422` Payment Methods Keep One — `error_code: VALIDATION_FAILED`\n- `422` Payout Min Amount Invalid — `error_code: INVALID_PAYOUT_SETTINGS`\n- `422` Setting Unknown Key — `error_code: VALIDATION_FAILED`\n- `422` Wallet Payment Setting Invalid — `error_code: VALIDATION_FAILED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"value\",\n            \"value\": \"value\"\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Booking Settings Delay Updated",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Booking Settings Delay Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "scheduled_delay_clock_lead_minutes",
                                                                "value": "30"
                                                            },
                                                            {
                                                                "key": "execution_early_start_minutes",
                                                                "value": "30"
                                                            },
                                                            {
                                                                "key": "order_status_delay_minutes",
                                                                "value": "10"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\BookingSettingsTest::test_td_110_delay_clock_lead_cannot_exceed_the_early_start_window"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"scheduled_delay_clock_lead_minutes\",\n            \"value\": \"30\"\n        },\n        {\n            \"key\": \"execution_early_start_minutes\",\n            \"value\": \"30\"\n        },\n        {\n            \"key\": \"order_status_delay_minutes\",\n            \"value\": \"10\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Booking Settings Updated",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Booking Settings Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "provider_scheduled_response_minutes",
                                                                "value": "40"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\BookingSettingsTest::test_td_92_a_valid_change_that_still_fits_the_lead_is_saved"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"provider_scheduled_response_minutes\",\n            \"value\": \"40\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Dispatch rate updated",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Dispatch rate updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "dispatch_availability_per_minute",
                                                                "value": "3"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\BookingSettingsTest::test_td_133_dispatch_limit_and_admin_cache_invalidation"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"dispatch_availability_per_minute\",\n            \"value\": \"3\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Featured expiry reminder days saved",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Featured expiry reminder days saved",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "featured_expiry_reminder_days",
                                                                "value": "10"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationEventTriggersTest::test_td_179_featured_expiry_reminder_days_is_a_featured_group_int_the_reminder_reads"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"featured_expiry_reminder_days\",\n            \"value\": \"10\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Payment Method Switched Off",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Payment Method Switched Off",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "payment_method_apple_pay_enabled",
                                                                "value": "0"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentMethodSwitchTest::test_ac_admin_025_admin_switches_a_method_off_and_on"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"payment_method_apple_pay_enabled\",\n            \"value\": \"0\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Payout Min Amount Updated",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Payout Min Amount Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "payout_min_amount",
                                                                "value": "25.50"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_the_minimum_amount_setting_is_validated"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"payout_min_amount\",\n            \"value\": \"25.50\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Platform logo updated",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Platform logo updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "app_logo",
                                                                "value": "test-logo"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingTypesTest::test_ac_admin_025_logo_is_saved_and_exposed"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"app_logo\",\n            \"value\": \"test-logo\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Wallet Payment Setting Disabled",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Wallet Payment Setting Disabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "wallet_payments_enabled",
                                                                "value": "0"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_cust_015_wallet_payment_setting_accepts_only_zero_or_one"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"wallet_payments_enabled\",\n            \"value\": \"0\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"value\",\n            \"value\": \"value\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"value\",\n            \"value\": \"value\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"value\",\n            \"value\": \"value\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Booking Settings Deadlines Exceed Lead",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Booking Settings Deadlines Exceed Lead",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "provider_scheduled_response_minutes",
                                                                "value": "50"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\BookingSettingsTest::test_td_92_deadlines_that_exceed_the_minimum_lead_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"provider_scheduled_response_minutes\",\n            \"value\": \"50\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Provider response plus customer payment window cannot exceed the minimum booking lead time.\",\n    \"data\": {\n        \"error_code\": \"INVALID_BOOKING_SETTINGS\",\n        \"correlation_id\": \"efe3ccc5-845c-45d7-8f6f-286e2f8c18dd\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Booking Settings Delay Lead Exceeds Early Start",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Booking Settings Delay Lead Exceeds Early Start",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "scheduled_delay_clock_lead_minutes",
                                                                "value": "121"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\BookingSettingsTest::test_td_110_delay_clock_lead_cannot_exceed_the_early_start_window"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"scheduled_delay_clock_lead_minutes\",\n            \"value\": \"121\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The delay clock cannot start earlier than the provider is allowed to begin a scheduled order.\",\n    \"data\": {\n        \"error_code\": \"INVALID_BOOKING_SETTINGS\",\n        \"correlation_id\": \"5620da19-37f7-4a03-82ad-91fc5e676944\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Featured expiry reminder days not positive",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Featured expiry reminder days not positive",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "featured_expiry_reminder_days",
                                                                "value": "0"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationEventTriggersTest::test_td_179_featured_expiry_reminder_days_is_a_featured_group_int_the_reminder_reads"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"featured_expiry_reminder_days\",\n            \"value\": \"0\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Featured expiry reminder days must be a positive integer.\",\n    \"data\": {\n        \"error_code\": \"INVALID_NOTIFICATION_SETTINGS\",\n        \"correlation_id\": \"e15e4aa1-f00c-49cf-a9b0-5b1226df3638\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Generic Settings Reject Malformed Joshan Brackets",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Generic Settings Reject Malformed Joshan Brackets",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "joshan_enabled",
                                                                "value": "1"
                                                            },
                                                            {
                                                                "key": "joshan_budget_brackets",
                                                                "value": "[malformed"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_generic_settings_route_rejects_malformed_budget_json_atomically"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"joshan_enabled\",\n            \"value\": \"1\"\n        },\n        {\n            \"key\": \"joshan_budget_brackets\",\n            \"value\": \"[malformed\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Joshen finder configuration is missing or invalid.\",\n    \"data\": {\n        \"error_code\": \"JOSHEN_CONFIG_UNAVAILABLE\",\n        \"correlation_id\": \"314a3660-f080-4800-8227-85cfe00d81f8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid dispatch rate",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Invalid dispatch rate",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "dispatch_responses_per_minute",
                                                                "value": "42"
                                                            },
                                                            {
                                                                "key": "dispatch_availability_per_minute",
                                                                "value": 0
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\BookingSettingsTest::test_td_133_dispatch_limit_rejects_invalid_updates_atomically"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"dispatch_responses_per_minute\",\n            \"value\": \"42\"\n        },\n        {\n            \"key\": \"dispatch_availability_per_minute\",\n            \"value\": 0\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Booking settings are missing or invalid.\",\n    \"data\": {\n        \"error_code\": \"INVALID_BOOKING_SETTINGS\",\n        \"correlation_id\": \"7c4119a8-67b2-490b-9ccf-a92b872073a0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid setting type",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Invalid setting type",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "app_name",
                                                                "value": "Changed"
                                                            },
                                                            {
                                                                "key": "app_logo",
                                                                "value": "missing-hash"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingTypesTest::test_ac_admin_025_types_are_validated_atomically"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"app_name\",\n            \"value\": \"Changed\"\n        },\n        {\n            \"key\": \"app_logo\",\n            \"value\": \"missing-hash\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The media file was not found.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"errors\": {\n            \"settings.1.value\": [\n                \"The media file was not found.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Malformed setting item",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Malformed setting item",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "app_name",
                                                                "value": "Changed"
                                                            },
                                                            {
                                                                "key": "app_logo",
                                                                "value": "candidate-logo"
                                                            },
                                                            {
                                                                "value": "missing-key"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingTypesTest::test_ac_admin_025_malformed_setting_items_cannot_change_values_or_media"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"app_name\",\n            \"value\": \"Changed\"\n        },\n        {\n            \"key\": \"app_logo\",\n            \"value\": \"candidate-logo\"\n        },\n        {\n            \"value\": \"missing-key\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Setting Key field is required.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"errors\": {\n            \"settings.2.key\": [\n                \"The Setting Key field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Nearby driver alert setting out of range",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Nearby driver alert setting out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "driver_nearby_alert_min_trips",
                                                                "value": "two"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationEventTriggersTest::test_td_174_nearby_driver_alert_settings_accept_1_to_the_limit_and_refuse_the_rest_with_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"driver_nearby_alert_min_trips\",\n            \"value\": \"two\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Nearby-request alert settings must be a whole number from 1 to 50.\",\n    \"data\": {\n        \"error_code\": \"INVALID_NOTIFICATION_SETTINGS\",\n        \"correlation_id\": \"dfb64c4f-09dd-4eaa-b0df-da5ad511f205\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payment Method Invalid Value",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Payment Method Invalid Value",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "payment_method_card_enabled",
                                                                "value": "yes"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentMethodSwitchTest::test_ac_admin_025_card_and_mada_cannot_both_be_switched_off_and_values_must_be_boolean"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"payment_method_card_enabled\",\n            \"value\": \"yes\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A payment method setting must be 0 or 1.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"ee50b0ea-5ea3-4358-ba6e-1a1b2db876ce\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payment Methods Keep One",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Payment Methods Keep One",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "payment_method_mada_enabled",
                                                                "value": "0"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentMethodSwitchTest::test_ac_admin_025_card_and_mada_cannot_both_be_switched_off_and_values_must_be_boolean"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"payment_method_mada_enabled\",\n            \"value\": \"0\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Card and mada cannot both be switched off: customers need one gateway method.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"e2da5fda-4479-408d-9619-ab0dbed8b4e2\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payout Min Amount Invalid",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Payout Min Amount Invalid",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "payout_min_amount",
                                                                "value": "abc"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_the_minimum_amount_setting_is_validated"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"payout_min_amount\",\n            \"value\": \"abc\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The minimum transfer amount must be zero or more, with at most two decimals.\",\n    \"data\": {\n        \"error_code\": \"INVALID_PAYOUT_SETTINGS\",\n        \"correlation_id\": \"95e57359-5d21-4162-8566-b5df0b3f5b94\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Setting Unknown Key",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Setting Unknown Key",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "payment_method_card_enabled",
                                                                "value": "0"
                                                            },
                                                            {
                                                                "key": "no_such_setting",
                                                                "value": "1"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentMethodSwitchTest::test_ac_admin_025_an_unknown_setting_key_is_refused_and_nothing_is_saved"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"payment_method_card_enabled\",\n            \"value\": \"0\"\n        },\n        {\n            \"key\": \"no_such_setting\",\n            \"value\": \"1\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected Setting Key is invalid.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"errors\": {\n            \"settings.1.key\": [\n                \"The selected Setting Key is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Wallet Payment Setting Invalid",
                                            "_joshen": {
                                                "route": "admin.settings.update",
                                                "name": "Wallet Payment Setting Invalid",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/settings",
                                                    "query": null,
                                                    "body": {
                                                        "settings": [
                                                            {
                                                                "key": "wallet_payments_enabled",
                                                                "value": "yes"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_cust_015_wallet_payment_setting_accepts_only_zero_or_one"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"settings\": [\n        {\n            \"key\": \"wallet_payments_enabled\",\n            \"value\": \"yes\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The wallet payment setting must be 0 or 1.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"282aa568-9bae-44f8-b218-d5893efaa973\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Feature flags",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"feature_flag_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/feature-flags?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "feature-flags"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.feature-flags.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `feature_flag_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Feature Flags Search By Key\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"feature_flags\": [\n            {\n                \"id\": \"01a17cc5-8852-70b5-b1f2-045827c4aad0\",\n                \"key\": \"enable_notifications\",\n                \"is_enabled\": true,\n                \"targeting_rules\": null,\n                \"description\": \"Enable push notifications system-wide\",\n                \"created_at\": \"2026-10-27 09:51:22\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/feature-flags?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/feature-flags?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/feature-flags?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/feature-flags\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Feature Flags Search By Key",
                                            "_joshen": {
                                                "route": "admin.feature-flags.index",
                                                "name": "Feature Flags Search By Key",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/feature-flags",
                                                    "query": {
                                                        "search": "notifications",
                                                        "page": 1
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SettingsSearchTest::test_ac_admin_025_feature_flags_index_searches_by_key"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags?search=notifications&page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "search",
                                                            "value": "notifications"
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"feature_flags\": [\n            {\n                \"id\": \"01a17cc5-8852-70b5-b1f2-045827c4aad0\",\n                \"key\": \"enable_notifications\",\n                \"is_enabled\": true,\n                \"targeting_rules\": null,\n                \"description\": \"Enable push notifications system-wide\",\n                \"created_at\": \"2026-10-27 09:51:22\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/feature-flags?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/feature-flags?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/feature-flags?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/feature-flags\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "feature_flag_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"feature_flag_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/feature-flags",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "feature-flags"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.feature-flags.create`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `key`\n- **Description:** Unique machine name the code checks, up to 100 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `new_checkout`\n- **Validation rules:** `required|string|max:100|unique:feature_flags,key,NULL,id`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:feature_flags,key,NULL,id` — must be unique (feature_flags, key, NULL, id).\n### `is_enabled`\n- **Description:** Whether the flag is on for everyone the targeting rules allow; false by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `targeting_rules`\n- **Description:** Optional rule object that narrows who sees the flag (for example countries or platforms); empty means everyone.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"countries\":[\"SA\"]}`\n- **Validation rules:** `nullable|array`\n- `nullable` — may be null.\n- `array` — must be an array.\n### `description`\n- **Description:** What the flag switches, for other admins.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Enables the new checkout summary`\n- **Validation rules:** `nullable|string`\n- `nullable` — may be null.\n- `string` — must be text.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `feature_flag_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Feature Flag Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Feature Flag Missing Key\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-3d85-7135-a04d-c54942d4e0d4\",\n        \"key\": \"new_checkout\",\n        \"is_enabled\": false,\n        \"targeting_rules\": null,\n        \"description\": \"Enables the new checkout summary\",\n        \"created_at\": \"2026-11-08 10:36:35\",\n        \"updated_at\": \"2026-11-08 10:36:35\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": true,\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    },\n    \"description\": \"Enables the new checkout summary\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Feature Flag Created",
                                            "_joshen": {
                                                "route": "admin.feature-flags.create",
                                                "name": "Feature Flag Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/feature-flags",
                                                    "query": null,
                                                    "body": {
                                                        "key": "new_checkout",
                                                        "is_enabled": false,
                                                        "description": "Enables the new checkout summary"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_020_feature_flag_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": false,\n    \"description\": \"Enables the new checkout summary\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-3d85-7135-a04d-c54942d4e0d4\",\n        \"key\": \"new_checkout\",\n        \"is_enabled\": false,\n        \"targeting_rules\": null,\n        \"description\": \"Enables the new checkout summary\",\n        \"created_at\": \"2026-11-08 10:36:35\",\n        \"updated_at\": \"2026-11-08 10:36:35\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": true,\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    },\n    \"description\": \"Enables the new checkout summary\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": true,\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    },\n    \"description\": \"Enables the new checkout summary\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": true,\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    },\n    \"description\": \"Enables the new checkout summary\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Feature Flag Missing Key",
                                            "_joshen": {
                                                "route": "admin.feature-flags.create",
                                                "name": "Feature Flag Missing Key",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/feature-flags",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_020_feature_flag_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Key field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"key\": [\n                \"The Key field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "feature_flag_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"feature_flag_id\",\"Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"feature_flag_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/feature-flags/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "feature-flags",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{feature_flag_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.feature-flags.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `key`\n- **Description:** Unique machine name the code checks, up to 100 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `new_checkout`\n- **Validation rules:** `sometimes|string|max:100|unique:feature_flags,key,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:feature_flags,key,NULL,id` — must be unique (feature_flags, key, NULL, id).\n### `is_enabled`\n- **Description:** Whether the flag is on for everyone the targeting rules allow; false by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `targeting_rules`\n- **Description:** Optional rule object that narrows who sees the flag (for example countries or platforms); empty means everyone.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"countries\":[\"SA\"]}`\n- **Validation rules:** `nullable|array`\n- `nullable` — may be null.\n- `array` — must be an array.\n### `description`\n- **Description:** What the flag switches, for other admins.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Enables the new checkout summary`\n- **Validation rules:** `nullable|string`\n- `nullable` — may be null.\n- `string` — must be text.\n\n**Variables:**\n- Uses `{{feature_flag_id}}` — Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `feature_flag_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Feature Flag Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Feature Flag Update Duplicate Key\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-3d85-7135-a04d-c54942d4e0d4\",\n        \"key\": \"new_checkout\",\n        \"is_enabled\": false,\n        \"targeting_rules\": {\n            \"countries\": [\n                \"SA\"\n            ]\n        },\n        \"description\": \"New checkout\",\n        \"created_at\": \"2026-11-08 10:36:35\",\n        \"updated_at\": \"2026-11-08 10:36:35\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": true,\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    },\n    \"description\": \"Enables the new checkout summary\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Feature Flag Updated",
                                            "_joshen": {
                                                "route": "admin.feature-flags.update",
                                                "name": "Feature Flag Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/feature-flags/01a1babb-3d85-7135-a04d-c54942d4e0d4",
                                                    "query": null,
                                                    "body": {
                                                        "description": "New checkout",
                                                        "targeting_rules": {
                                                            "countries": [
                                                                "SA"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_020_feature_flag_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/01a1babb-3d85-7135-a04d-c54942d4e0d4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        "01a1babb-3d85-7135-a04d-c54942d4e0d4"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"description\": \"New checkout\",\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-3d85-7135-a04d-c54942d4e0d4\",\n        \"key\": \"new_checkout\",\n        \"is_enabled\": false,\n        \"targeting_rules\": {\n            \"countries\": [\n                \"SA\"\n            ]\n        },\n        \"description\": \"New checkout\",\n        \"created_at\": \"2026-11-08 10:36:35\",\n        \"updated_at\": \"2026-11-08 10:36:35\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": true,\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    },\n    \"description\": \"Enables the new checkout summary\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": true,\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    },\n    \"description\": \"Enables the new checkout summary\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"new_checkout\",\n    \"is_enabled\": true,\n    \"targeting_rules\": {\n        \"countries\": [\n            \"SA\"\n        ]\n    },\n    \"description\": \"Enables the new checkout summary\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Feature Flag Update Duplicate Key",
                                            "_joshen": {
                                                "route": "admin.feature-flags.update",
                                                "name": "Feature Flag Update Duplicate Key",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/feature-flags/01a1babb-3d85-7135-a04d-c54942d4e0d4",
                                                    "query": null,
                                                    "body": {
                                                        "key": "existing_flag"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_020_feature_flag_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/01a1babb-3d85-7135-a04d-c54942d4e0d4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        "01a1babb-3d85-7135-a04d-c54942d4e0d4"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"existing_flag\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Key has already been taken.\",\n    \"data\": {\n        \"errors\": {\n            \"key\": [\n                \"The Key has already been taken.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "feature_flag_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "feature_flag_id",
                                                "set_by": [
                                                    "admin.feature-flags.index",
                                                    "admin.feature-flags.create",
                                                    "admin.feature-flags.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"feature_flag_id\",\"Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/feature-flags/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "feature-flags",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{feature_flag_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.feature-flags.delete`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{feature_flag_id}}` — Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Feature Flag Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Feature Flag Deleted",
                                            "_joshen": {
                                                "route": "admin.feature-flags.delete",
                                                "name": "Feature Flag Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/feature-flags/01a1babb-3d85-7135-a04d-c54942d4e0d4",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_020_feature_flag_responses"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/01a1babb-3d85-7135-a04d-c54942d4e0d4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        "01a1babb-3d85-7135-a04d-c54942d4e0d4"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "feature_flag_id",
                                                "set_by": [
                                                    "admin.feature-flags.index",
                                                    "admin.feature-flags.create",
                                                    "admin.feature-flags.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Toggle Status",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"feature_flag_id\",\"Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/feature-flags/:id/toggle",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "feature-flags",
                                                ":id",
                                                "toggle"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{feature_flag_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.feature-flags.toggle`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{feature_flag_id}}` — Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Feature Flag Toggled\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Feature flag toggled\",\n    \"data\": {\n        \"id\": \"01a1babb-3d85-7135-a04d-c54942d4e0d4\",\n        \"key\": \"new_checkout\",\n        \"is_enabled\": true,\n        \"targeting_rules\": {\n            \"countries\": [\n                \"SA\"\n            ]\n        },\n        \"description\": \"New checkout\",\n        \"created_at\": \"2026-11-08T10:36:35.000000Z\",\n        \"updated_at\": \"2026-11-08T10:36:35.000000Z\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Feature Flag Toggled",
                                            "_joshen": {
                                                "route": "admin.feature-flags.toggle",
                                                "name": "Feature Flag Toggled",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/feature-flags/01a1babb-3d85-7135-a04d-c54942d4e0d4/toggle",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_020_feature_flag_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/01a1babb-3d85-7135-a04d-c54942d4e0d4/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        "01a1babb-3d85-7135-a04d-c54942d4e0d4",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Feature flag toggled\",\n    \"data\": {\n        \"id\": \"01a1babb-3d85-7135-a04d-c54942d4e0d4\",\n        \"key\": \"new_checkout\",\n        \"is_enabled\": true,\n        \"targeting_rules\": {\n            \"countries\": [\n                \"SA\"\n            ]\n        },\n        \"description\": \"New checkout\",\n        \"created_at\": \"2026-11-08T10:36:35.000000Z\",\n        \"updated_at\": \"2026-11-08T10:36:35.000000Z\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id",
                                                        "toggle"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id",
                                                        "toggle"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id",
                                                        "toggle"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/feature-flags/:id/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "feature-flags",
                                                        ":id",
                                                        "toggle"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{feature_flag_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "feature_flag_id",
                                                "set_by": [
                                                    "admin.feature-flags.index",
                                                    "admin.feature-flags.create",
                                                    "admin.feature-flags.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/feature-flags, POST /api/v1/admin/feature-flags, PUT /api/v1/admin/feature-flags/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Audit logs",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/audit-logs?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "audit-logs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[actor_id]",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "Actions by this admin (user uuid)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[action]",
                                                    "value": "updated",
                                                    "description": "created, updated, deleted",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[model]",
                                                    "value": "App\\Models\\Role",
                                                    "description": "Audited model class",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[from]",
                                                    "value": "2026-10-01",
                                                    "description": "From date",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[to]",
                                                    "value": "2026-10-31",
                                                    "description": "To date",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.audit-logs.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[actor_id]` — Actions by this admin (user uuid) (optional)\n- `filters[action]` — created, updated, deleted (optional)\n- `filters[model]` — Audited model class (optional)\n- `filters[from]` — From date (optional)\n- `filters[to]` — To date (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Audit Logs By Actor\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Audit logs retrieved\",\n    \"data\": {\n        \"audit_logs\": [\n            {\n                \"id\": \"01a19bed-54b6-72c6-89b3-12670f18f003\",\n                \"action\": \"updated\",\n                \"auditable_type\": \"User\",\n                \"auditable_id\": \"01a19bed-549d-72ab-976c-28b87b837326\",\n                \"old_values\": {\n                    \"full_name\": \"Amaya Kilback DVM\"\n                },\n                \"new_values\": {\n                    \"full_name\": \"By actor\"\n                },\n                \"actor\": {\n                    \"id\": \"01a19bed-547e-7121-99bf-8876fd6def70\",\n                    \"full_name\": \"Erick Senger\",\n                    \"email\": \"erich85@example.com\"\n                },\n                \"ip_address\": \"127.0.0.1\",\n                \"created_at\": \"2026-11-02T11:03:04+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/audit-logs?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/audit-logs?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/audit-logs?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/audit-logs\",\n            \"per_page\": 25,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Audit Logs By Actor",
                                            "_joshen": {
                                                "route": "admin.audit-logs.index",
                                                "name": "Audit Logs By Actor",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/audit-logs",
                                                    "query": {
                                                        "filters": {
                                                            "actor_id": "01a19bed-547e-7121-99bf-8876fd6def70"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupervisorControllerTest::test_ac_admin_024_audit_log_filters_by_actor"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/audit-logs?filters[actor_id]=01a19bed-547e-7121-99bf-8876fd6def70",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "audit-logs"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[actor_id]",
                                                            "value": "01a19bed-547e-7121-99bf-8876fd6def70"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Audit logs retrieved\",\n    \"data\": {\n        \"audit_logs\": [\n            {\n                \"id\": \"01a19bed-54b6-72c6-89b3-12670f18f003\",\n                \"action\": \"updated\",\n                \"auditable_type\": \"User\",\n                \"auditable_id\": \"01a19bed-549d-72ab-976c-28b87b837326\",\n                \"old_values\": {\n                    \"full_name\": \"Amaya Kilback DVM\"\n                },\n                \"new_values\": {\n                    \"full_name\": \"By actor\"\n                },\n                \"actor\": {\n                    \"id\": \"01a19bed-547e-7121-99bf-8876fd6def70\",\n                    \"full_name\": \"Erick Senger\",\n                    \"email\": \"erich85@example.com\"\n                },\n                \"ip_address\": \"127.0.0.1\",\n                \"created_at\": \"2026-11-02T11:03:04+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/audit-logs?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/audit-logs?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/audit-logs?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/audit-logs\",\n            \"per_page\": 25,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/audit-logs?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "audit-logs"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[actor_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Actions by this admin (user uuid)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[action]",
                                                            "value": "updated",
                                                            "description": "created, updated, deleted",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[model]",
                                                            "value": "App\\Models\\Role",
                                                            "description": "Audited model class",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[from]",
                                                            "value": "2026-10-01",
                                                            "description": "From date",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[to]",
                                                            "value": "2026-10-31",
                                                            "description": "To date",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/audit-logs?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "audit-logs"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[actor_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Actions by this admin (user uuid)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[action]",
                                                            "value": "updated",
                                                            "description": "created, updated, deleted",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[model]",
                                                            "value": "App\\Models\\Role",
                                                            "description": "Audited model class",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[from]",
                                                            "value": "2026-10-01",
                                                            "description": "From date",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[to]",
                                                            "value": "2026-10-31",
                                                            "description": "To date",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/audit-logs?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "audit-logs"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[actor_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Actions by this admin (user uuid)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[action]",
                                                            "value": "updated",
                                                            "description": "created, updated, deleted",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[model]",
                                                            "value": "App\\Models\\Role",
                                                            "description": "Audited model class",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[from]",
                                                            "value": "2026-10-01",
                                                            "description": "From date",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[to]",
                                                            "value": "2026-10-31",
                                                            "description": "To date",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Dashboard",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/dashboard?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "dashboard"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.dashboard.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Dashboard All Time\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Dashboard metrics retrieved\",\n    \"data\": {\n        \"period\": {\n            \"from\": null,\n            \"to\": null\n        },\n        \"accounts\": {\n            \"customers\": {\n                \"total\": 2,\n                \"new\": 2\n            },\n            \"providers\": {\n                \"total\": 1,\n                \"new\": 1,\n                \"approved\": 1\n            },\n            \"drivers\": {\n                \"total\": 1,\n                \"new\": 1,\n                \"approved\": 1\n            }\n        },\n        \"orders\": {\n            \"total\": 4,\n            \"completed\": 2,\n            \"cancelled\": 1,\n            \"rejected\": 0,\n            \"expired\": 0,\n            \"instant\": 1,\n            \"scheduled\": 3,\n            \"by_kind\": {\n                \"service\": 4,\n                \"package_purchase\": 0,\n                \"package_session\": 0\n            },\n            \"delayed\": 1,\n            \"current\": 1\n        },\n        \"trips\": {\n            \"total\": 2,\n            \"completed\": 1,\n            \"no_driver\": 0,\n            \"cancelled\": 0,\n            \"current\": 1\n        },\n        \"payments\": {\n            \"count\": 4,\n            \"total_amount\": \"435.00\",\n            \"orders_amount\": \"205.00\",\n            \"featured_amount\": \"230.00\",\n            \"gateway_fees\": \"2.30\"\n        },\n        \"refunds\": {\n            \"count\": 1,\n            \"amount\": \"40.00\"\n        },\n        \"wallet\": {\n            \"balances_total\": \"40.00\",\n            \"transactions_count\": 1,\n            \"credits\": \"40.00\",\n            \"debits\": \"0.00\"\n        },\n        \"commissions\": {\n            \"provider\": \"15.00\",\n            \"driver\": \"2.50\",\n            \"total\": \"17.50\"\n        },\n        \"transportation_fees\": {\n            \"driver\": \"25.00\",\n            \"provider_self_travel\": \"0.00\",\n            \"total\": \"25.00\"\n        },\n        \"amounts_due\": {\n            \"provider\": {\n                \"due\": \"85.00\",\n                \"transferred\": \"0.00\"\n            },\n            \"driver\": {\n                \"due\": \"0.00\",\n                \"transferred\": \"22.50\"\n            }\n        },\n        \"featured\": {\n            \"active\": 1,\n            \"expired\": 1,\n            \"revenue\": \"230.00\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Dashboard All Time",
                                            "_joshen": {
                                                "route": "admin.dashboard.index",
                                                "name": "Dashboard All Time",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/dashboard",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReportsTest::test_ac_admin_002_dashboard_is_the_all_time_summary"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/dashboard",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "dashboard"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Dashboard metrics retrieved\",\n    \"data\": {\n        \"period\": {\n            \"from\": null,\n            \"to\": null\n        },\n        \"accounts\": {\n            \"customers\": {\n                \"total\": 2,\n                \"new\": 2\n            },\n            \"providers\": {\n                \"total\": 1,\n                \"new\": 1,\n                \"approved\": 1\n            },\n            \"drivers\": {\n                \"total\": 1,\n                \"new\": 1,\n                \"approved\": 1\n            }\n        },\n        \"orders\": {\n            \"total\": 4,\n            \"completed\": 2,\n            \"cancelled\": 1,\n            \"rejected\": 0,\n            \"expired\": 0,\n            \"instant\": 1,\n            \"scheduled\": 3,\n            \"by_kind\": {\n                \"service\": 4,\n                \"package_purchase\": 0,\n                \"package_session\": 0\n            },\n            \"delayed\": 1,\n            \"current\": 1\n        },\n        \"trips\": {\n            \"total\": 2,\n            \"completed\": 1,\n            \"no_driver\": 0,\n            \"cancelled\": 0,\n            \"current\": 1\n        },\n        \"payments\": {\n            \"count\": 4,\n            \"total_amount\": \"435.00\",\n            \"orders_amount\": \"205.00\",\n            \"featured_amount\": \"230.00\",\n            \"gateway_fees\": \"2.30\"\n        },\n        \"refunds\": {\n            \"count\": 1,\n            \"amount\": \"40.00\"\n        },\n        \"wallet\": {\n            \"balances_total\": \"40.00\",\n            \"transactions_count\": 1,\n            \"credits\": \"40.00\",\n            \"debits\": \"0.00\"\n        },\n        \"commissions\": {\n            \"provider\": \"15.00\",\n            \"driver\": \"2.50\",\n            \"total\": \"17.50\"\n        },\n        \"transportation_fees\": {\n            \"driver\": \"25.00\",\n            \"provider_self_travel\": \"0.00\",\n            \"total\": \"25.00\"\n        },\n        \"amounts_due\": {\n            \"provider\": {\n                \"due\": \"85.00\",\n                \"transferred\": \"0.00\"\n            },\n            \"driver\": {\n                \"due\": \"0.00\",\n                \"transferred\": \"22.50\"\n            }\n        },\n        \"featured\": {\n            \"active\": 1,\n            \"expired\": 1,\n            \"revenue\": \"230.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/dashboard?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "dashboard"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/dashboard?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "dashboard"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/dashboard?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "dashboard"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Content",
                    "item": [
                        {
                            "name": "Faqs",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"faq_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/faqs?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.faqs.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `faq_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Faqs List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab9-ece2-73e0-bd7b-1b52f71518e3\",\n            \"type\": null,\n            \"question\": \"How do I book?\",\n            \"answer\": \"Pick the service, then the time.\",\n            \"is_active\": true,\n            \"created_at\": null\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Faqs List",
                                            "_joshen": {
                                                "route": "admin.faqs.index",
                                                "name": "Faqs List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/faqs",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_faq_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab9-ece2-73e0-bd7b-1b52f71518e3\",\n            \"type\": null,\n            \"question\": \"How do I book?\",\n            \"answer\": \"Pick the service, then the time.\",\n            \"is_active\": true,\n            \"created_at\": null\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "faq_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"faq_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/faqs",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "faqs"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.faqs.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `is_active`\n- **Description:** Switch that shows or hides the question in the apps; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `type`\n- **Description:** Legacy base field with no column in the FAQ schema; it is validated but not stored (TD-30). Audience is not settable yet.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n### `en.question`\n- **Description:** English question, up to 500 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `How do I book?`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `en.answer`\n- **Description:** English answer, up to 5000 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Pick the service, then the time.`\n- **Validation rules:** `required|string|max:5000`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:5000` — must not exceed 5000.\n### `ar.question`\n- **Description:** Arabic question, up to 500 characters (required, TD-12).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `كيف أحجز؟`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `ar.answer`\n- **Description:** Arabic answer, up to 5000 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `اختاري الخدمة ثم الموعد.`\n- **Validation rules:** `required|string|max:5000`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:5000` — must not exceed 5000.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `faq_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Faqs Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Faqs Missing Text\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-ece2-73e0-bd7b-1b52f71518e3\",\n        \"type\": null,\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\",\n        \"is_active\": true,\n        \"created_at\": null,\n        \"updated_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"is_active\": true,\n    \"type\": 1,\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    },\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Faqs Created",
                                            "_joshen": {
                                                "route": "admin.faqs.store",
                                                "name": "Faqs Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/faqs",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "question": "كيف أحجز؟",
                                                            "answer": "اختاري الخدمة ثم الموعد."
                                                        },
                                                        "en": {
                                                            "question": "How do I book?",
                                                            "answer": "Pick the service, then the time."
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_faq_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    },\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-ece2-73e0-bd7b-1b52f71518e3\",\n        \"type\": null,\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\",\n        \"is_active\": true,\n        \"created_at\": null,\n        \"updated_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"type\": 1,\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    },\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"type\": 1,\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    },\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"type\": 1,\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    },\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Faqs Missing Text",
                                            "_joshen": {
                                                "route": "admin.faqs.store",
                                                "name": "Faqs Missing Text",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/faqs",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_faq_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Question (en) field is required. (and 3 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"en.question\": [\n                \"The Question (en) field is required.\"\n            ],\n            \"en.answer\": [\n                \"The Answer (en) field is required.\"\n            ],\n            \"ar.question\": [\n                \"The Question (ar) field is required.\"\n            ],\n            \"ar.answer\": [\n                \"The Answer (ar) field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "faq_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"faq_id\",\"Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"faq_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "faqs",
                                                ":faq"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "faq",
                                                    "value": "{{faq_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.faqs.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{faq_id}}` — Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `faq_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Faqs Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-ece2-73e0-bd7b-1b52f71518e3\",\n        \"type\": null,\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\",\n        \"is_active\": true,\n        \"created_at\": null,\n        \"updated_at\": null,\n        \"en\": {\n            \"question\": \"How do I book?\",\n            \"answer\": \"Pick the service, then the time.\"\n        },\n        \"ar\": {\n            \"question\": \"كيف أحجز؟\",\n            \"answer\": \"اختاري الخدمة ثم الموعد.\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Faqs Details",
                                            "_joshen": {
                                                "route": "admin.faqs.show",
                                                "name": "Faqs Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/faqs/01a1bab9-ece2-73e0-bd7b-1b52f71518e3",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_faq_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/01a1bab9-ece2-73e0-bd7b-1b52f71518e3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        "01a1bab9-ece2-73e0-bd7b-1b52f71518e3"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-ece2-73e0-bd7b-1b52f71518e3\",\n        \"type\": null,\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\",\n        \"is_active\": true,\n        \"created_at\": null,\n        \"updated_at\": null,\n        \"en\": {\n            \"question\": \"How do I book?\",\n            \"answer\": \"Pick the service, then the time.\"\n        },\n        \"ar\": {\n            \"question\": \"كيف أحجز؟\",\n            \"answer\": \"اختاري الخدمة ثم الموعد.\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "faq_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "faq_id",
                                                "set_by": [
                                                    "admin.faqs.index",
                                                    "admin.faqs.store",
                                                    "admin.faqs.show",
                                                    "admin.faqs.update",
                                                    "client.faqs.index",
                                                    "provider.faqs.index",
                                                    "delivery.faqs.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"faq_id\",\"Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"faq_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "faqs",
                                                ":faq"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "faq",
                                                    "value": "{{faq_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.faqs.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `is_active`\n- **Description:** Switch that shows or hides the question in the apps; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `type`\n- **Description:** Legacy base field with no column in the FAQ schema; it is validated but not stored (TD-30). Audience is not settable yet.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n### `en.question`\n- **Description:** English question, up to 500 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `How do I book?`\n- **Validation rules:** `sometimes|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `en.answer`\n- **Description:** English answer, up to 5000 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Pick the service, then the time.`\n- **Validation rules:** `sometimes|string|max:5000`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:5000` — must not exceed 5000.\n### `ar.question`\n- **Description:** Arabic question, up to 500 characters (required, TD-12).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `كيف أحجز؟`\n- **Validation rules:** `sometimes|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `ar.answer`\n- **Description:** Arabic answer, up to 5000 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `اختاري الخدمة ثم الموعد.`\n- **Validation rules:** `sometimes|string|max:5000`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:5000` — must not exceed 5000.\n\n**Variables:**\n- Uses `{{faq_id}}` — Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `faq_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Faqs Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Faqs Update Answer Too Long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-ece2-73e0-bd7b-1b52f71518e3\",\n        \"type\": null,\n        \"question\": \"How can I book?\",\n        \"answer\": \"Pick the service, then the time.\",\n        \"is_active\": true,\n        \"created_at\": null,\n        \"updated_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"is_active\": true,\n    \"type\": 1,\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    },\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Faqs Updated",
                                            "_joshen": {
                                                "route": "admin.faqs.update",
                                                "name": "Faqs Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/faqs/01a1bab9-ece2-73e0-bd7b-1b52f71518e3",
                                                    "query": null,
                                                    "body": {
                                                        "en": {
                                                            "question": "How can I book?"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_faq_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/01a1bab9-ece2-73e0-bd7b-1b52f71518e3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        "01a1bab9-ece2-73e0-bd7b-1b52f71518e3"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"en\": {\n        \"question\": \"How can I book?\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-ece2-73e0-bd7b-1b52f71518e3\",\n        \"type\": null,\n        \"question\": \"How can I book?\",\n        \"answer\": \"Pick the service, then the time.\",\n        \"is_active\": true,\n        \"created_at\": null,\n        \"updated_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"type\": 1,\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    },\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"type\": 1,\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    },\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true,\n    \"type\": 1,\n    \"en\": {\n        \"question\": \"How do I book?\",\n        \"answer\": \"Pick the service, then the time.\"\n    },\n    \"ar\": {\n        \"question\": \"كيف أحجز؟\",\n        \"answer\": \"اختاري الخدمة ثم الموعد.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Faqs Update Answer Too Long",
                                            "_joshen": {
                                                "route": "admin.faqs.update",
                                                "name": "Faqs Update Answer Too Long",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/faqs/01a1bab9-ece2-73e0-bd7b-1b52f71518e3",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "answer": "ااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_faq_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/01a1bab9-ece2-73e0-bd7b-1b52f71518e3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        "01a1bab9-ece2-73e0-bd7b-1b52f71518e3"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"answer\": \"ااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Answer (ar) field must not be greater than 5000 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"ar.answer\": [\n                \"The Answer (ar) field must not be greater than 5000 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "faq_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "faq_id",
                                                "set_by": [
                                                    "admin.faqs.index",
                                                    "admin.faqs.store",
                                                    "admin.faqs.show",
                                                    "admin.faqs.update",
                                                    "client.faqs.index",
                                                    "provider.faqs.index",
                                                    "delivery.faqs.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"faq_id\",\"Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "faqs",
                                                ":faq"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "faq",
                                                    "value": "{{faq_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.faqs.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{faq_id}}` — Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Faqs Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Faqs Deleted",
                                            "_joshen": {
                                                "route": "admin.faqs.destroy",
                                                "name": "Faqs Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/faqs/01a1bab9-ece2-73e0-bd7b-1b52f71518e3",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_faq_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/01a1bab9-ece2-73e0-bd7b-1b52f71518e3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        "01a1bab9-ece2-73e0-bd7b-1b52f71518e3"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/faqs/:faq",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "faqs",
                                                        ":faq"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "faq",
                                                            "value": "{{faq_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "faq_id",
                                                "set_by": [
                                                    "admin.faqs.index",
                                                    "admin.faqs.store",
                                                    "admin.faqs.show",
                                                    "admin.faqs.update",
                                                    "client.faqs.index",
                                                    "provider.faqs.index",
                                                    "delivery.faqs.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/faqs, POST /api/v1/admin/faqs, GET /api/v1/admin/faqs/{faq}, PUT /api/v1/admin/faqs/{faq}, GET /api/v1/client/faqs, GET /api/v1/provider/faqs, GET /api/v1/delivery/faqs."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Pages",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"page_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/pages?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "pages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.pages.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `page_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Pages List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab9-ef3f-7296-b97d-d6ae40eb0768\",\n            \"slug\": {\n                \"value\": \"about\",\n                \"label\": \"About\"\n            },\n            \"audience\": {\n                \"value\": \"all\",\n                \"label\": \"All\"\n            },\n            \"title\": \"Sample-djis34488670\",\n            \"version\": 1,\n            \"updated_at\": \"2026-11-08 10:35:10\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Pages List",
                                            "_joshen": {
                                                "route": "admin.pages.index",
                                                "name": "Pages List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/pages",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_static_page_list_validation_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab9-ef3f-7296-b97d-d6ae40eb0768\",\n            \"slug\": {\n                \"value\": \"about\",\n                \"label\": \"About\"\n            },\n            \"audience\": {\n                \"value\": \"all\",\n                \"label\": \"All\"\n            },\n            \"title\": \"Sample-djis34488670\",\n            \"version\": 1,\n            \"updated_at\": \"2026-11-08 10:35:10\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "page_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"page_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/pages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "pages"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.pages.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `slug`\n- **Description:** Which policy the page holds; one page per slug and audience (BR-01, DEC-18).\n- **Type:** `string (enum)`\n- **Allowed values:** `terms`, `privacy`, `cancellation_policy`, `about`, `female_declaration`\n- **Required:** required\n- **Example:** `terms`\n- **Validation rules:** `required|in:\"terms\",\"privacy\",\"cancellation_policy\",\"about\",\"female_declaration\"|unique:static_pages,slug,NULL,id,audience,\"all\"`\n- `required` — must be provided.\n- `in:\"terms\",\"privacy\",\"cancellation_policy\",\"about\",\"female_declaration\"` — must be one of: \"terms\", \"privacy\", \"cancellation_policy\", \"about\", \"female_declaration\".\n- `unique:static_pages,slug,NULL,id,audience,\"all\"` — must be unique (static_pages, slug, NULL, id, audience, \"all\").\n### `audience`\n- **Description:** App the page is shown to; defaults to all.\n- **Type:** `string (enum)`\n- **Allowed values:** `all`, `customer`, `provider`, `driver`\n- **Required:** optional\n- **Example:** `customer`\n- **Validation rules:** `sometimes|in:\"all\",\"customer\",\"provider\",\"driver\"|unique:static_pages,audience,NULL,id,slug,\"NULL\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"all\",\"customer\",\"provider\",\"driver\"` — must be one of: \"all\", \"customer\", \"provider\", \"driver\".\n- `unique:static_pages,audience,NULL,id,slug,\"NULL\"` — must be unique (static_pages, audience, NULL, id, slug, \"NULL\").\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"title\":\"الشروط والأحكام\",\"body\":\"نص الشروط والأحكام\"}`\n- **Validation rules:** `required|array`\n- `required` — must be provided.\n- `array` — must be an array.\n### `ar.title`\n- **Description:** Arabic page title, up to 200 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `الشروط والأحكام`\n- **Validation rules:** `required|string|max:200`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `ar.body`\n- **Description:** Arabic page text.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `نص الشروط والأحكام`\n- **Validation rules:** `required|string`\n- `required` — must be provided.\n- `string` — must be text.\n### `en`\n- **Description:** Optional English text; send title and body together.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"Terms & conditions\",\"body\":\"Terms and conditions text\"}`\n- **Validation rules:** `sometimes|nullable|array`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `array` — must be an array.\n### `en.title`\n- **Description:** English page title, up to 200 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Terms & conditions`\n- **Validation rules:** `required_with:en.body|string|max:200`\n- `required_with:en.body` — required when en.body is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `en.body`\n- **Description:** English page text.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Terms and conditions text`\n- **Validation rules:** `required_with:en.title|string`\n- `required_with:en.title` — required when en.title is present.\n- `string` — must be text.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `page_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Page created with both locales\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Legacy type and content fields\n- `422` Slug already used for this audience\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a17208-208b-712a-b1fd-c42df8d63013\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms\"\n        },\n        \"audience\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"title\": \"الشروط والأحكام\",\n        \"version\": 1,\n        \"updated_at\": \"2026-10-25 07:48:17\",\n        \"body\": \"نص الشروط\",\n        \"updated_by\": \"01a17208-207d-7354-8546-f28529cd0f64\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط والأحكام\"\n    },\n    \"en\": {\n        \"title\": \"Terms & conditions\",\n        \"body\": \"Terms and conditions text\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Page created with both locales",
                                            "_joshen": {
                                                "route": "admin.pages.store",
                                                "name": "Page created with both locales",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/pages",
                                                    "query": null,
                                                    "body": {
                                                        "slug": "terms",
                                                        "audience": "customer",
                                                        "ar": {
                                                            "title": "الشروط والأحكام",
                                                            "body": "نص الشروط"
                                                        },
                                                        "en": {
                                                            "title": "Terms",
                                                            "body": "Terms text"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\StaticPageManagementTest::test_store_creates_a_page_with_slug_audience_and_both_locales"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط\"\n    },\n    \"en\": {\n        \"title\": \"Terms\",\n        \"body\": \"Terms text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a17208-208b-712a-b1fd-c42df8d63013\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms\"\n        },\n        \"audience\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"title\": \"الشروط والأحكام\",\n        \"version\": 1,\n        \"updated_at\": \"2026-10-25 07:48:17\",\n        \"body\": \"نص الشروط\",\n        \"updated_by\": \"01a17208-207d-7354-8546-f28529cd0f64\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط والأحكام\"\n    },\n    \"en\": {\n        \"title\": \"Terms & conditions\",\n        \"body\": \"Terms and conditions text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط والأحكام\"\n    },\n    \"en\": {\n        \"title\": \"Terms & conditions\",\n        \"body\": \"Terms and conditions text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط والأحكام\"\n    },\n    \"en\": {\n        \"title\": \"Terms & conditions\",\n        \"body\": \"Terms and conditions text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Legacy type and content fields",
                                            "_joshen": {
                                                "route": "admin.pages.store",
                                                "name": "Legacy type and content fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/pages",
                                                    "query": null,
                                                    "body": {
                                                        "type": "value",
                                                        "is_active": true,
                                                        "en": {
                                                            "title": "Example Title",
                                                            "content": "Example content text"
                                                        },
                                                        "ar": {
                                                            "title": "Example Title",
                                                            "content": "Example content text"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\StaticPageManagementTest::test_store_rejects_the_legacy_type_payload"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"type\": \"value\",\n    \"is_active\": true,\n    \"en\": {\n        \"title\": \"Example Title\",\n        \"content\": \"Example content text\"\n    },\n    \"ar\": {\n        \"title\": \"Example Title\",\n        \"content\": \"Example content text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"حقل المعرّف النصي مطلوب. (و 2 أخطاء أخرى)\",\n    \"data\": {\n        \"errors\": {\n            \"slug\": [\n                \"حقل المعرّف النصي مطلوب.\"\n            ],\n            \"ar.body\": [\n                \"حقل المحتوى (ar) مطلوب.\"\n            ],\n            \"en.body\": [\n                \"حقل المحتوى (en) مطلوب عند وجود العنوان (en).\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Slug already used for this audience",
                                            "_joshen": {
                                                "route": "admin.pages.store",
                                                "name": "Slug already used for this audience",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/pages",
                                                    "query": null,
                                                    "body": {
                                                        "slug": "terms",
                                                        "audience": "all",
                                                        "ar": {
                                                            "title": "الشروط والأحكام",
                                                            "body": "نص الشروط"
                                                        },
                                                        "en": {
                                                            "title": "Terms",
                                                            "body": "Terms text"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\StaticPageManagementTest::test_store_rejects_a_second_page_for_the_same_slug_and_audience"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"all\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط\"\n    },\n    \"en\": {\n        \"title\": \"Terms\",\n        \"body\": \"Terms text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"قيمة المعرّف النصي مستخدمة من قبل. (و 1 خطأ آخر)\",\n    \"data\": {\n        \"errors\": {\n            \"slug\": [\n                \"قيمة المعرّف النصي مستخدمة من قبل.\"\n            ],\n            \"audience\": [\n                \"قيمة Audience مستخدمة من قبل.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "page_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"page_id\",\"Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"page_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "pages",
                                                ":page"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "page",
                                                    "value": "{{page_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.pages.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{page_id}}` — Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `page_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Page with both locales\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a17208-218a-7117-ac47-4b803b2234a3\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms\"\n        },\n        \"audience\": {\n            \"value\": \"all\",\n            \"label\": \"All\"\n        },\n        \"title\": \"Sample-hsym95706839\",\n        \"version\": 1,\n        \"updated_at\": \"2026-10-25 07:48:17\",\n        \"body\": \"Molestias nisi delectus perferendis voluptas.\",\n        \"updated_by\": null,\n        \"en\": {\n            \"title\": \"Sample-uhjf30585628\",\n            \"body\": \"Odit reprehenderit laborum consequatur iusto sit odio.\"\n        },\n        \"ar\": {\n            \"title\": \"Sample-hsym95706839\",\n            \"body\": \"Molestias nisi delectus perferendis voluptas.\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Page with both locales",
                                            "_joshen": {
                                                "route": "admin.pages.show",
                                                "name": "Page with both locales",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/pages/01a17208-218a-7117-ac47-4b803b2234a3",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\StaticPageManagementTest::test_show_returns_both_locales"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/01a17208-218a-7117-ac47-4b803b2234a3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        "01a17208-218a-7117-ac47-4b803b2234a3"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a17208-218a-7117-ac47-4b803b2234a3\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms\"\n        },\n        \"audience\": {\n            \"value\": \"all\",\n            \"label\": \"All\"\n        },\n        \"title\": \"Sample-hsym95706839\",\n        \"version\": 1,\n        \"updated_at\": \"2026-10-25 07:48:17\",\n        \"body\": \"Molestias nisi delectus perferendis voluptas.\",\n        \"updated_by\": null,\n        \"en\": {\n            \"title\": \"Sample-uhjf30585628\",\n            \"body\": \"Odit reprehenderit laborum consequatur iusto sit odio.\"\n        },\n        \"ar\": {\n            \"title\": \"Sample-hsym95706839\",\n            \"body\": \"Molestias nisi delectus perferendis voluptas.\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "page_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "page_id",
                                                "set_by": [
                                                    "admin.pages.index",
                                                    "admin.pages.store",
                                                    "admin.pages.show",
                                                    "admin.pages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"page_id\",\"Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"page_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "pages",
                                                ":page"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "page",
                                                    "value": "{{page_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.pages.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `slug`\n- **Description:** Which policy the page holds; one page per slug and audience (BR-01, DEC-18).\n- **Type:** `string (enum)`\n- **Allowed values:** `terms`, `privacy`, `cancellation_policy`, `about`, `female_declaration`\n- **Required:** optional\n- **Example:** `terms`\n- **Validation rules:** `sometimes|in:\"terms\",\"privacy\",\"cancellation_policy\",\"about\",\"female_declaration\"|unique:static_pages,slug,NULL,id,audience,\"all\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"terms\",\"privacy\",\"cancellation_policy\",\"about\",\"female_declaration\"` — must be one of: \"terms\", \"privacy\", \"cancellation_policy\", \"about\", \"female_declaration\".\n- `unique:static_pages,slug,NULL,id,audience,\"all\"` — must be unique (static_pages, slug, NULL, id, audience, \"all\").\n### `audience`\n- **Description:** App the page is shown to; defaults to all.\n- **Type:** `string (enum)`\n- **Allowed values:** `all`, `customer`, `provider`, `driver`\n- **Required:** optional\n- **Example:** `customer`\n- **Validation rules:** `sometimes|in:\"all\",\"customer\",\"provider\",\"driver\"|unique:static_pages,audience,NULL,id,slug,\"NULL\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"all\",\"customer\",\"provider\",\"driver\"` — must be one of: \"all\", \"customer\", \"provider\", \"driver\".\n- `unique:static_pages,audience,NULL,id,slug,\"NULL\"` — must be unique (static_pages, audience, NULL, id, slug, \"NULL\").\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"الشروط والأحكام\",\"body\":\"نص الشروط والأحكام\"}`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `ar.title`\n- **Description:** Arabic page title, up to 200 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `الشروط والأحكام`\n- **Validation rules:** `sometimes|string|max:200`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `ar.body`\n- **Description:** Arabic page text.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `نص الشروط والأحكام`\n- **Validation rules:** `sometimes|string`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n### `en`\n- **Description:** Optional English text; send title and body together.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"Terms & conditions\",\"body\":\"Terms and conditions text\"}`\n- **Validation rules:** `sometimes|nullable|array`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `array` — must be an array.\n### `en.title`\n- **Description:** English page title, up to 200 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Terms & conditions`\n- **Validation rules:** `required_with:en.body|string|max:200`\n- `required_with:en.body` — required when en.body is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `en.body`\n- **Description:** English page text.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Terms and conditions text`\n- **Validation rules:** `required_with:en.title|string`\n- `required_with:en.title` — required when en.title is present.\n- `string` — must be text.\n\n**Variables:**\n- Uses `{{page_id}}` — Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `page_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` English text updated and version bumped\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Pages Update Invalid Slug\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a17208-2134-72d4-9b43-0d3043549d25\",\n        \"slug\": {\n            \"value\": \"privacy\",\n            \"label\": \"Privacy\"\n        },\n        \"audience\": {\n            \"value\": \"all\",\n            \"label\": \"All\"\n        },\n        \"title\": \"Sample-vgmu72873045\",\n        \"version\": 2,\n        \"updated_at\": \"2026-10-25 07:48:17\",\n        \"body\": \"Ea quas consequuntur ut eos.\",\n        \"updated_by\": \"01a17208-212f-71b8-b18d-2b47162d4f50\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط والأحكام\"\n    },\n    \"en\": {\n        \"title\": \"Terms & conditions\",\n        \"body\": \"Terms and conditions text\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 English text updated and version bumped",
                                            "_joshen": {
                                                "route": "admin.pages.update",
                                                "name": "English text updated and version bumped",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/pages/01a17208-2134-72d4-9b43-0d3043549d25",
                                                    "query": null,
                                                    "body": {
                                                        "en": {
                                                            "title": "Privacy",
                                                            "body": "New privacy text"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\StaticPageManagementTest::test_update_changes_the_text_and_bumps_the_version"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/01a17208-2134-72d4-9b43-0d3043549d25",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        "01a17208-2134-72d4-9b43-0d3043549d25"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"en\": {\n        \"title\": \"Privacy\",\n        \"body\": \"New privacy text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a17208-2134-72d4-9b43-0d3043549d25\",\n        \"slug\": {\n            \"value\": \"privacy\",\n            \"label\": \"Privacy\"\n        },\n        \"audience\": {\n            \"value\": \"all\",\n            \"label\": \"All\"\n        },\n        \"title\": \"Sample-vgmu72873045\",\n        \"version\": 2,\n        \"updated_at\": \"2026-10-25 07:48:17\",\n        \"body\": \"Ea quas consequuntur ut eos.\",\n        \"updated_by\": \"01a17208-212f-71b8-b18d-2b47162d4f50\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط والأحكام\"\n    },\n    \"en\": {\n        \"title\": \"Terms & conditions\",\n        \"body\": \"Terms and conditions text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط والأحكام\"\n    },\n    \"en\": {\n        \"title\": \"Terms & conditions\",\n        \"body\": \"Terms and conditions text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"terms\",\n    \"audience\": \"customer\",\n    \"ar\": {\n        \"title\": \"الشروط والأحكام\",\n        \"body\": \"نص الشروط والأحكام\"\n    },\n    \"en\": {\n        \"title\": \"Terms & conditions\",\n        \"body\": \"Terms and conditions text\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Pages Update Invalid Slug",
                                            "_joshen": {
                                                "route": "admin.pages.update",
                                                "name": "Pages Update Invalid Slug",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/pages/01a1bab9-ef3f-7296-b97d-d6ae40eb0768",
                                                    "query": null,
                                                    "body": {
                                                        "slug": "unknown-page",
                                                        "en": {
                                                            "title": "Only a title"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_static_page_list_validation_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/01a1bab9-ef3f-7296-b97d-d6ae40eb0768",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        "01a1bab9-ef3f-7296-b97d-d6ae40eb0768"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"unknown-page\",\n    \"en\": {\n        \"title\": \"Only a title\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected Slug is invalid. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"slug\": [\n                \"The selected Slug is invalid.\"\n            ],\n            \"en.body\": [\n                \"The Content (en) field is required when Title (en) is present.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "page_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "page_id",
                                                "set_by": [
                                                    "admin.pages.index",
                                                    "admin.pages.store",
                                                    "admin.pages.show",
                                                    "admin.pages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"page_id\",\"Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "pages",
                                                ":page"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "page",
                                                    "value": "{{page_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.pages.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{page_id}}` — Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Pages Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Pages Deleted",
                                            "_joshen": {
                                                "route": "admin.pages.destroy",
                                                "name": "Pages Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/pages/01a1bab9-ef3f-7296-b97d-d6ae40eb0768",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_023_static_page_list_validation_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/01a1bab9-ef3f-7296-b97d-d6ae40eb0768",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        "01a1bab9-ef3f-7296-b97d-d6ae40eb0768"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/pages/:page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "pages",
                                                        ":page"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "page",
                                                            "value": "{{page_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "page_id",
                                                "set_by": [
                                                    "admin.pages.index",
                                                    "admin.pages.store",
                                                    "admin.pages.show",
                                                    "admin.pages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/pages, POST /api/v1/admin/pages, GET /api/v1/admin/pages/{page}, PUT /api/v1/admin/pages/{page}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Sliders",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"slider_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/sliders?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "sliders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.sliders.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `slider_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Banners filtered by target app\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"sliders\": [\n            {\n                \"id\": \"01a1735e-af12-702c-aacb-6f452fd7014d\",\n                \"title\": \"Sample-swhi68026264\",\n                \"subtitle\": null,\n                \"badge_text\": null,\n                \"target_app\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"placement\": {\n                    \"value\": \"home\",\n                    \"label\": \"Home\"\n                },\n                \"link_type\": {\n                    \"value\": \"none\",\n                    \"label\": \"None\"\n                },\n                \"link\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=S&background=e0e7ff&color=4f46e5&size=400\",\n                \"sort_order\": 0,\n                \"starts_at\": null,\n                \"ends_at\": null,\n                \"is_active\": true,\n                \"created_at\": \"2026-10-25 14:02:27\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/sliders?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/sliders?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/sliders?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/sliders\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Banners filtered by target app",
                                            "_joshen": {
                                                "route": "admin.sliders.index",
                                                "name": "Banners filtered by target app",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders",
                                                    "query": {
                                                        "filters": {
                                                            "target_app": "driver"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_list_returns_the_targeting_fields_and_destroy_removes_the_banner"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders?filters[target_app]=driver",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[target_app]",
                                                            "value": "driver"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"sliders\": [\n            {\n                \"id\": \"01a1735e-af12-702c-aacb-6f452fd7014d\",\n                \"title\": \"Sample-swhi68026264\",\n                \"subtitle\": null,\n                \"badge_text\": null,\n                \"target_app\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"placement\": {\n                    \"value\": \"home\",\n                    \"label\": \"Home\"\n                },\n                \"link_type\": {\n                    \"value\": \"none\",\n                    \"label\": \"None\"\n                },\n                \"link\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=S&background=e0e7ff&color=4f46e5&size=400\",\n                \"sort_order\": 0,\n                \"starts_at\": null,\n                \"ends_at\": null,\n                \"is_active\": true,\n                \"created_at\": \"2026-10-25 14:02:27\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/sliders?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/sliders?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/sliders?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/sliders\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "slider_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"slider_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/sliders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "sliders"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.sliders.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"title\":\"خصم الافتتاح\",\"subtitle\":\"٢٠٪ على أول حجز\",\"badge_text\":\"عرض الأسبوع\"}`\n- **Validation rules:** `required|array|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English text; send the title with any other English field.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"Opening offer\",\"subtitle\":\"20% off your first booking\",\"badge_text\":\"Offer of the week\"}`\n- **Validation rules:** `sometimes|nullable|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `target_app`\n- **Description:** App that shows the banner: customer, provider or driver (BR-30).\n- **Type:** `string (enum)`\n- **Allowed values:** `customer`, `provider`, `driver`\n- **Required:** required\n- **Example:** `customer`\n- **Validation rules:** `required|in:\"customer\",\"provider\",\"driver\"`\n- `required` — must be provided.\n- `in:\"customer\",\"provider\",\"driver\"` — must be one of: \"customer\", \"provider\", \"driver\".\n### `placement`\n- **Description:** Screen of that app that shows the banner (BR-30).\n- **Type:** `string (enum)`\n- **Allowed values:** `home`, `services`, `packages`, `joshen_finder`, `account`\n- **Required:** required\n- **Example:** `home`\n- **Validation rules:** `required|in:\"home\",\"services\",\"packages\",\"joshen_finder\",\"account\"`\n- `required` — must be provided.\n- `in:\"home\",\"services\",\"packages\",\"joshen_finder\",\"account\"` — must be one of: \"home\", \"services\", \"packages\", \"joshen_finder\", \"account\".\n### `link_type`\n- **Description:** What the banner opens when tapped; none by default.\n- **Type:** `string (enum)`\n- **Allowed values:** `none`, `category`, `service`, `package`, `provider`, `screen`, `url`\n- **Required:** optional\n- **Example:** `url`\n- **Validation rules:** `sometimes|in:\"none\",\"category\",\"service\",\"package\",\"provider\",\"screen\",\"url\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"none\",\"category\",\"service\",\"package\",\"provider\",\"screen\",\"url\"` — must be one of: \"none\", \"category\", \"service\", \"package\", \"provider\", \"screen\", \"url\".\n### `link`\n- **Description:** Target per link_type: a uuid for category, service, package or provider, an app route for screen, a full URL for url. Must be empty for none.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `sort_order`\n- **Description:** Display order, lowest first; 0 by default.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `starts_at`\n- **Description:** First moment the banner is shown; empty means no start limit (BR-30).\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-11-01 00:00:00`\n- **Validation rules:** `sometimes|nullable|date`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `ends_at`\n- **Description:** Moment the banner stops showing, after starts_at; empty means no end limit (BR-30).\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-11-30 23:59:59`\n- **Validation rules:** `sometimes|nullable|date`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `is_active`\n- **Description:** Switch that shows or hides the banner without deleting it (BR-30); true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `image`\n- **Description:** Banner image: the `hash` returned by the media upload; jpg, jpeg, png or webp up to 5120 KB (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `ar.title`\n- **Description:** Arabic banner title, up to 200 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `خصم الافتتاح`\n- **Validation rules:** `required|string|max:200`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `ar.subtitle`\n- **Description:** Arabic subtitle under the title, up to 300 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `٢٠٪ على أول حجز`\n- **Validation rules:** `sometimes|nullable|string|max:300`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:300` — must not exceed 300.\n### `ar.badge_text`\n- **Description:** Arabic badge shown on the banner, up to 60 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `عرض الأسبوع`\n- **Validation rules:** `sometimes|nullable|string|max:60`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:60` — must not exceed 60.\n### `en.title`\n- **Description:** English banner title, up to 200 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Opening offer`\n- **Validation rules:** `required_with:en|string|max:200`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `en.subtitle`\n- **Description:** English subtitle under the title, up to 300 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `20% off your first booking`\n- **Validation rules:** `sometimes|nullable|string|max:300`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:300` — must not exceed 300.\n### `en.badge_text`\n- **Description:** English badge shown on the banner, up to 60 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Offer of the week`\n- **Validation rules:** `sometimes|nullable|string|max:60`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:60` — must not exceed 60.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `slider_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Banner created with both locales\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Ends before it starts\n- `422` Image hash does not exist\n- `422` Legacy flat title without ar\n- `422` Link points at a category that does not exist\n- `422` Target app and placement missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1735e-acf4-7084-999e-8eac01f14b9f\",\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": null,\n        \"target_app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"placement\": {\n            \"value\": \"home\",\n            \"label\": \"Home\"\n        },\n        \"link_type\": {\n            \"value\": \"url\",\n            \"label\": \"Url\"\n        },\n        \"link\": \"https://example.com\",\n        \"image\": \"http://localhost/storage/sliders/banner-image-hash.png\",\n        \"sort_order\": 1,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": true,\n        \"created_at\": \"2026-10-25 14:02:26\",\n        \"updated_at\": \"2026-10-25 14:02:26\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": \"عرض الأسبوع\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\",\n        \"badge_text\": \"Offer of the week\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Banner created with both locales",
                                            "_joshen": {
                                                "route": "admin.sliders.store",
                                                "name": "Banner created with both locales",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "title": "خصم الافتتاح",
                                                            "subtitle": "٢٠٪ على أول حجز"
                                                        },
                                                        "en": {
                                                            "title": "Opening offer",
                                                            "subtitle": "20% off your first booking"
                                                        },
                                                        "target_app": "customer",
                                                        "placement": "home",
                                                        "link_type": "url",
                                                        "link": "https://example.com",
                                                        "sort_order": 1,
                                                        "starts_at": null,
                                                        "ends_at": null,
                                                        "is_active": true,
                                                        "image": "banner-image-hash"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_store_saves_both_locales_target_link_and_image"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"link\": \"https://example.com\",\n    \"sort_order\": 1,\n    \"starts_at\": null,\n    \"ends_at\": null,\n    \"is_active\": true,\n    \"image\": \"banner-image-hash\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1735e-acf4-7084-999e-8eac01f14b9f\",\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": null,\n        \"target_app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"placement\": {\n            \"value\": \"home\",\n            \"label\": \"Home\"\n        },\n        \"link_type\": {\n            \"value\": \"url\",\n            \"label\": \"Url\"\n        },\n        \"link\": \"https://example.com\",\n        \"image\": \"http://localhost/storage/sliders/banner-image-hash.png\",\n        \"sort_order\": 1,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": true,\n        \"created_at\": \"2026-10-25 14:02:26\",\n        \"updated_at\": \"2026-10-25 14:02:26\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": \"عرض الأسبوع\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\",\n        \"badge_text\": \"Offer of the week\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": \"عرض الأسبوع\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\",\n        \"badge_text\": \"Offer of the week\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": \"عرض الأسبوع\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\",\n        \"badge_text\": \"Offer of the week\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Ends before it starts",
                                            "_joshen": {
                                                "route": "admin.sliders.store",
                                                "name": "Ends before it starts",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "title": "خصم الافتتاح",
                                                            "subtitle": "٢٠٪ على أول حجز"
                                                        },
                                                        "en": {
                                                            "title": "Opening offer",
                                                            "subtitle": "20% off your first booking"
                                                        },
                                                        "target_app": "customer",
                                                        "placement": "home",
                                                        "link_type": "url",
                                                        "link": "https://example.com",
                                                        "sort_order": 1,
                                                        "starts_at": "2026-11-30 00:00:00",
                                                        "ends_at": "2026-11-01 00:00:00",
                                                        "is_active": true,
                                                        "image": "banner-image-hash"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_store_rejects_an_end_date_before_the_start_date"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"link\": \"https://example.com\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-30 00:00:00\",\n    \"ends_at\": \"2026-11-01 00:00:00\",\n    \"is_active\": true,\n    \"image\": \"banner-image-hash\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"حقل Starts At يجب أن يكون تاريخًا قبل 2026-11-01 00:00:00. (و 1 خطأ آخر)\",\n    \"data\": {\n        \"errors\": {\n            \"starts_at\": [\n                \"حقل Starts At يجب أن يكون تاريخًا قبل 2026-11-01 00:00:00.\"\n            ],\n            \"ends_at\": [\n                \"حقل Ends At يجب أن يكون تاريخًا بعد 2026-11-30 00:00:00.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Image hash does not exist",
                                            "_joshen": {
                                                "route": "admin.sliders.store",
                                                "name": "Image hash does not exist",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "title": "خصم الافتتاح",
                                                            "subtitle": "٢٠٪ على أول حجز"
                                                        },
                                                        "en": {
                                                            "title": "Opening offer",
                                                            "subtitle": "20% off your first booking"
                                                        },
                                                        "target_app": "customer",
                                                        "placement": "home",
                                                        "link_type": "url",
                                                        "link": "https://example.com",
                                                        "sort_order": 1,
                                                        "starts_at": null,
                                                        "ends_at": null,
                                                        "is_active": true,
                                                        "image": "01a17356-d738-7388-bd14-41f9b9fc8f88"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_store_rejects_an_image_hash_that_was_never_uploaded"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"link\": \"https://example.com\",\n    \"sort_order\": 1,\n    \"starts_at\": null,\n    \"ends_at\": null,\n    \"is_active\": true,\n    \"image\": \"01a17356-d738-7388-bd14-41f9b9fc8f88\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الملف غير موجود.\",\n    \"data\": {\n        \"errors\": {\n            \"image\": [\n                \"الملف غير موجود.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Legacy flat title without ar",
                                            "_joshen": {
                                                "route": "admin.sliders.store",
                                                "name": "Legacy flat title without ar",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders",
                                                    "query": null,
                                                    "body": {
                                                        "title": "Example Title",
                                                        "subtitle": "Example subtitle",
                                                        "target_app": "customer",
                                                        "placement": "home",
                                                        "image": "banner-image-hash"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_store_rejects_the_legacy_flat_title_payload"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"title\": \"Example Title\",\n    \"subtitle\": \"Example subtitle\",\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"image\": \"banner-image-hash\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"حقل البيانات العربية مطلوب. (و 1 خطأ آخر)\",\n    \"data\": {\n        \"errors\": {\n            \"ar\": [\n                \"حقل البيانات العربية مطلوب.\"\n            ],\n            \"ar.title\": [\n                \"حقل العنوان (ar) مطلوب.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Link points at a category that does not exist",
                                            "_joshen": {
                                                "route": "admin.sliders.store",
                                                "name": "Link points at a category that does not exist",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "title": "خصم الافتتاح",
                                                            "subtitle": "٢٠٪ على أول حجز"
                                                        },
                                                        "en": {
                                                            "title": "Opening offer",
                                                            "subtitle": "20% off your first booking"
                                                        },
                                                        "target_app": "customer",
                                                        "placement": "home",
                                                        "link_type": "category",
                                                        "link": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                        "sort_order": 1,
                                                        "starts_at": null,
                                                        "ends_at": null,
                                                        "is_active": true,
                                                        "image": "banner-image-hash"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_store_rejects_a_link_that_does_not_match_the_link_type"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"category\",\n    \"link\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"sort_order\": 1,\n    \"starts_at\": null,\n    \"ends_at\": null,\n    \"is_active\": true,\n    \"image\": \"banner-image-hash\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"قيمة الرابط المختارة غير موجودة.\",\n    \"data\": {\n        \"errors\": {\n            \"link\": [\n                \"قيمة الرابط المختارة غير موجودة.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Target app and placement missing",
                                            "_joshen": {
                                                "route": "admin.sliders.store",
                                                "name": "Target app and placement missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "title": "عرض"
                                                        },
                                                        "image": "banner-image-hash"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_store_requires_target_app_and_placement"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"عرض\"\n    },\n    \"image\": \"banner-image-hash\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"حقل Target App مطلوب. (و 1 خطأ آخر)\",\n    \"data\": {\n        \"errors\": {\n            \"target_app\": [\n                \"حقل Target App مطلوب.\"\n            ],\n            \"placement\": [\n                \"حقل Placement مطلوب.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "slider_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"slider_id\",\"Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"slider_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "sliders",
                                                ":slider"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "slider",
                                                    "value": "{{slider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.sliders.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{slider_id}}` — Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `slider_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Banner details with both locales\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1735e-ae47-7337-a224-cba0f4f9d9af\",\n        \"title\": \"Sample-vtkw24913057\",\n        \"subtitle\": null,\n        \"badge_text\": null,\n        \"target_app\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"placement\": {\n            \"value\": \"account\",\n            \"label\": \"Account\"\n        },\n        \"link_type\": {\n            \"value\": \"none\",\n            \"label\": \"None\"\n        },\n        \"link\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=S&background=e0e7ff&color=4f46e5&size=400\",\n        \"sort_order\": 0,\n        \"starts_at\": \"2026-11-01 00:00:00\",\n        \"ends_at\": \"2026-11-30 23:59:59\",\n        \"is_active\": true,\n        \"created_at\": \"2026-10-25 14:02:27\",\n        \"updated_at\": \"2026-10-25 14:02:27\",\n        \"en\": {\n            \"title\": \"Provider news\",\n            \"subtitle\": null,\n            \"badge_text\": null\n        },\n        \"ar\": {\n            \"title\": \"Sample-vtkw24913057\",\n            \"subtitle\": null,\n            \"badge_text\": null\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Banner details with both locales",
                                            "_joshen": {
                                                "route": "admin.sliders.show",
                                                "name": "Banner details with both locales",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders/01a1735e-ae47-7337-a224-cba0f4f9d9af",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_update_changes_target_and_dates_and_shows_both_locales"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/01a1735e-ae47-7337-a224-cba0f4f9d9af",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        "01a1735e-ae47-7337-a224-cba0f4f9d9af"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1735e-ae47-7337-a224-cba0f4f9d9af\",\n        \"title\": \"Sample-vtkw24913057\",\n        \"subtitle\": null,\n        \"badge_text\": null,\n        \"target_app\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"placement\": {\n            \"value\": \"account\",\n            \"label\": \"Account\"\n        },\n        \"link_type\": {\n            \"value\": \"none\",\n            \"label\": \"None\"\n        },\n        \"link\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=S&background=e0e7ff&color=4f46e5&size=400\",\n        \"sort_order\": 0,\n        \"starts_at\": \"2026-11-01 00:00:00\",\n        \"ends_at\": \"2026-11-30 23:59:59\",\n        \"is_active\": true,\n        \"created_at\": \"2026-10-25 14:02:27\",\n        \"updated_at\": \"2026-10-25 14:02:27\",\n        \"en\": {\n            \"title\": \"Provider news\",\n            \"subtitle\": null,\n            \"badge_text\": null\n        },\n        \"ar\": {\n            \"title\": \"Sample-vtkw24913057\",\n            \"subtitle\": null,\n            \"badge_text\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "slider_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "slider_id",
                                                "set_by": [
                                                    "admin.sliders.index",
                                                    "admin.sliders.store",
                                                    "admin.sliders.show",
                                                    "admin.sliders.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"slider_id\",\"Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"slider_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "sliders",
                                                ":slider"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "slider",
                                                    "value": "{{slider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.sliders.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"خصم الافتتاح\",\"subtitle\":\"٢٠٪ على أول حجز\",\"badge_text\":\"عرض الأسبوع\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English text; send the title with any other English field.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"Opening offer\",\"subtitle\":\"20% off your first booking\",\"badge_text\":\"Offer of the week\"}`\n- **Validation rules:** `sometimes|nullable|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `target_app`\n- **Description:** App that shows the banner: customer, provider or driver (BR-30).\n- **Type:** `string (enum)`\n- **Allowed values:** `customer`, `provider`, `driver`\n- **Required:** optional\n- **Example:** `customer`\n- **Validation rules:** `sometimes|in:\"customer\",\"provider\",\"driver\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"customer\",\"provider\",\"driver\"` — must be one of: \"customer\", \"provider\", \"driver\".\n### `placement`\n- **Description:** Screen of that app that shows the banner (BR-30).\n- **Type:** `string (enum)`\n- **Allowed values:** `home`, `services`, `packages`, `joshen_finder`, `account`\n- **Required:** optional\n- **Example:** `home`\n- **Validation rules:** `sometimes|in:\"home\",\"services\",\"packages\",\"joshen_finder\",\"account\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"home\",\"services\",\"packages\",\"joshen_finder\",\"account\"` — must be one of: \"home\", \"services\", \"packages\", \"joshen_finder\", \"account\".\n### `link_type`\n- **Description:** What the banner opens when tapped; none by default.\n- **Type:** `string (enum)`\n- **Allowed values:** `none`, `category`, `service`, `package`, `provider`, `screen`, `url`\n- **Required:** optional\n- **Example:** `url`\n- **Validation rules:** `sometimes|in:\"none\",\"category\",\"service\",\"package\",\"provider\",\"screen\",\"url\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"none\",\"category\",\"service\",\"package\",\"provider\",\"screen\",\"url\"` — must be one of: \"none\", \"category\", \"service\", \"package\", \"provider\", \"screen\", \"url\".\n### `link`\n- **Description:** Target per link_type: a uuid for category, service, package or provider, an app route for screen, a full URL for url. Must be empty for none.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `sort_order`\n- **Description:** Display order, lowest first; 0 by default.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `starts_at`\n- **Description:** First moment the banner is shown; empty means no start limit (BR-30).\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-11-01 00:00:00`\n- **Validation rules:** `sometimes|nullable|date`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `ends_at`\n- **Description:** Moment the banner stops showing, after starts_at; empty means no end limit (BR-30).\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-11-30 23:59:59`\n- **Validation rules:** `sometimes|nullable|date`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `is_active`\n- **Description:** Switch that shows or hides the banner without deleting it (BR-30); true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `image`\n- **Description:** Banner image: the `hash` returned by the media upload; jpg, jpeg, png or webp up to 5120 KB (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `sometimes|string|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `ar.title`\n- **Description:** Arabic banner title, up to 200 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `خصم الافتتاح`\n- **Validation rules:** `sometimes|string|max:200`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `ar.subtitle`\n- **Description:** Arabic subtitle under the title, up to 300 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `٢٠٪ على أول حجز`\n- **Validation rules:** `sometimes|nullable|string|max:300`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:300` — must not exceed 300.\n### `ar.badge_text`\n- **Description:** Arabic badge shown on the banner, up to 60 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `عرض الأسبوع`\n- **Validation rules:** `sometimes|nullable|string|max:60`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:60` — must not exceed 60.\n### `en.title`\n- **Description:** English banner title, up to 200 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Opening offer`\n- **Validation rules:** `required_with:en|string|max:200`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `en.subtitle`\n- **Description:** English subtitle under the title, up to 300 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `20% off your first booking`\n- **Validation rules:** `sometimes|nullable|string|max:300`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:300` — must not exceed 300.\n### `en.badge_text`\n- **Description:** English badge shown on the banner, up to 60 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Offer of the week`\n- **Validation rules:** `sometimes|nullable|string|max:60`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:60` — must not exceed 60.\n\n**Variables:**\n- Uses `{{slider_id}}` — Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `slider_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Banner retargeted to the provider app with dates\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` New end date is before the stored start date\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1735e-ae47-7337-a224-cba0f4f9d9af\",\n        \"title\": \"Sample-vtkw24913057\",\n        \"subtitle\": null,\n        \"badge_text\": null,\n        \"target_app\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"placement\": {\n            \"value\": \"account\",\n            \"label\": \"Account\"\n        },\n        \"link_type\": {\n            \"value\": \"none\",\n            \"label\": \"None\"\n        },\n        \"link\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=S&background=e0e7ff&color=4f46e5&size=400\",\n        \"sort_order\": 0,\n        \"starts_at\": \"2026-11-01 00:00:00\",\n        \"ends_at\": \"2026-11-30 23:59:59\",\n        \"is_active\": true,\n        \"created_at\": \"2026-10-25 14:02:27\",\n        \"updated_at\": \"2026-10-25 14:02:27\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": \"عرض الأسبوع\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\",\n        \"badge_text\": \"Offer of the week\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Banner retargeted to the provider app with dates",
                                            "_joshen": {
                                                "route": "admin.sliders.update",
                                                "name": "Banner retargeted to the provider app with dates",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders/01a1735e-ae47-7337-a224-cba0f4f9d9af",
                                                    "query": null,
                                                    "body": {
                                                        "target_app": "provider",
                                                        "placement": "account",
                                                        "starts_at": "2026-11-01 00:00:00",
                                                        "ends_at": "2026-11-30 23:59:59",
                                                        "en": {
                                                            "title": "Provider news"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_update_changes_target_and_dates_and_shows_both_locales"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/01a1735e-ae47-7337-a224-cba0f4f9d9af",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        "01a1735e-ae47-7337-a224-cba0f4f9d9af"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"target_app\": \"provider\",\n    \"placement\": \"account\",\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"en\": {\n        \"title\": \"Provider news\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1735e-ae47-7337-a224-cba0f4f9d9af\",\n        \"title\": \"Sample-vtkw24913057\",\n        \"subtitle\": null,\n        \"badge_text\": null,\n        \"target_app\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"placement\": {\n            \"value\": \"account\",\n            \"label\": \"Account\"\n        },\n        \"link_type\": {\n            \"value\": \"none\",\n            \"label\": \"None\"\n        },\n        \"link\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=S&background=e0e7ff&color=4f46e5&size=400\",\n        \"sort_order\": 0,\n        \"starts_at\": \"2026-11-01 00:00:00\",\n        \"ends_at\": \"2026-11-30 23:59:59\",\n        \"is_active\": true,\n        \"created_at\": \"2026-10-25 14:02:27\",\n        \"updated_at\": \"2026-10-25 14:02:27\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": \"عرض الأسبوع\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\",\n        \"badge_text\": \"Offer of the week\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": \"عرض الأسبوع\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\",\n        \"badge_text\": \"Offer of the week\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"خصم الافتتاح\",\n        \"subtitle\": \"٢٠٪ على أول حجز\",\n        \"badge_text\": \"عرض الأسبوع\"\n    },\n    \"en\": {\n        \"title\": \"Opening offer\",\n        \"subtitle\": \"20% off your first booking\",\n        \"badge_text\": \"Offer of the week\"\n    },\n    \"target_app\": \"customer\",\n    \"placement\": \"home\",\n    \"link_type\": \"url\",\n    \"sort_order\": 1,\n    \"starts_at\": \"2026-11-01 00:00:00\",\n    \"ends_at\": \"2026-11-30 23:59:59\",\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 New end date is before the stored start date",
                                            "_joshen": {
                                                "route": "admin.sliders.update",
                                                "name": "New end date is before the stored start date",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders/01a1735e-aecc-7216-b5bb-5d19a8e6b6b8",
                                                    "query": null,
                                                    "body": {
                                                        "ends_at": "2026-11-01 00:00:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_update_rejects_an_end_date_before_the_stored_start_date"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/01a1735e-aecc-7216-b5bb-5d19a8e6b6b8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        "01a1735e-aecc-7216-b5bb-5d19a8e6b6b8"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ends_at\": \"2026-11-01 00:00:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"حقل Ends At يجب أن يكون تاريخًا بعد 2026-11-30 00:00:00.\",\n    \"data\": {\n        \"errors\": {\n            \"ends_at\": [\n                \"حقل Ends At يجب أن يكون تاريخًا بعد 2026-11-30 00:00:00.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "slider_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "slider_id",
                                                "set_by": [
                                                    "admin.sliders.index",
                                                    "admin.sliders.store",
                                                    "admin.sliders.show",
                                                    "admin.sliders.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"slider_id\",\"Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "sliders",
                                                ":slider"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "slider",
                                                    "value": "{{slider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.sliders.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{slider_id}}` — Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Banner deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم حذف البيانات بنجاح\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Banner deleted",
                                            "_joshen": {
                                                "route": "admin.sliders.destroy",
                                                "name": "Banner deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/sliders/01a1735e-af12-702c-aacb-6f452fd7014d",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SliderManagementTest::test_ac_admin_023_list_returns_the_targeting_fields_and_destroy_removes_the_banner"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/01a1735e-af12-702c-aacb-6f452fd7014d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        "01a1735e-af12-702c-aacb-6f452fd7014d"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم حذف البيانات بنجاح\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/sliders/:slider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "sliders",
                                                        ":slider"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "slider",
                                                            "value": "{{slider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "slider_id",
                                                "set_by": [
                                                    "admin.sliders.index",
                                                    "admin.sliders.store",
                                                    "admin.sliders.show",
                                                    "admin.sliders.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/sliders, POST /api/v1/admin/sliders, GET /api/v1/admin/sliders/{slider}, PUT /api/v1/admin/sliders/{slider}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Categories",
                            "item": [
                                {
                                    "name": "Tree",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/categories/:category/services/tree",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "categories",
                                                ":category",
                                                "services",
                                                "tree"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "category",
                                                    "value": "{{category_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.categories.tree`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Catalog Tree\n- `200` V2 Makeup Tree\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n            \"name\": \"Haircut\",\n            \"description\": \"Cut and style\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n            \"parent_id\": null,\n            \"type\": {\n                \"value\": 1,\n                \"label\": \"Service\"\n            },\n            \"children_selection\": {\n                \"value\": \"single\",\n                \"label\": \"Single\"\n            },\n            \"children_required\": true,\n            \"default_duration_min\": 60,\n            \"reference_price\": \"150.00\",\n            \"min_price\": \"50.00\",\n            \"max_price\": \"300.00\",\n            \"is_active\": true,\n            \"sort_order\": 2,\n            \"children_count\": 1,\n            \"provider_services_count\": 0,\n            \"created_at\": \"2026-10-25 07:46:47\",\n            \"updated_at\": \"2026-10-25 07:46:47\",\n            \"ar\": {\n                \"name\": \"قص الشعر\",\n                \"description\": \"قص وتصفيف\"\n            },\n            \"en\": {\n                \"name\": \"Haircut\",\n                \"description\": \"Cut and style\"\n            },\n            \"children\": [\n                {\n                    \"id\": \"01a17206-c0a3-7354-9b5d-714553dba234\",\n                    \"name\": \"Wash type\",\n                    \"description\": null,\n                    \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                    \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n                    \"parent_id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n                    \"type\": {\n                        \"value\": 2,\n                        \"label\": \"Option group\"\n                    },\n                    \"children_selection\": {\n                        \"value\": \"single\",\n                        \"label\": \"Single\"\n                    },\n                    \"children_required\": true,\n                    \"default_duration_min\": 0,\n                    \"reference_price\": null,\n                    \"min_price\": \"0.00\",\n                    \"max_price\": \"0.00\",\n                    \"is_active\": true,\n                    \"sort_order\": 0,\n                    \"children_count\": 1,\n                    \"provider_services_count\": 0,\n                    \"created_at\": \"2026-10-25 07:46:47\",\n                    \"updated_at\": \"2026-10-25 07:46:47\",\n                    \"ar\": {\n                        \"name\": \"نوع الغسيل\",\n                        \"description\": null\n                    },\n                    \"en\": {\n                        \"name\": \"Wash type\",\n                        \"description\": null\n                    },\n                    \"children\": [\n                        {\n                            \"id\": \"01a17206-c0b6-71cc-af2e-24c5917f4866\",\n                            \"name\": \"Wash\",\n                            \"description\": null,\n                            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                            \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n                            \"parent_id\": \"01a17206-c0a3-7354-9b5d-714553dba234\",\n                            \"type\": {\n                                \"value\": 3,\n                                \"label\": \"Choice\"\n                            },\n                            \"children_selection\": {\n                                \"value\": \"single\",\n                                \"label\": \"Single\"\n                            },\n                            \"children_required\": true,\n                            \"default_duration_min\": 0,\n                            \"reference_price\": null,\n                            \"min_price\": \"10.00\",\n                            \"max_price\": \"40.00\",\n                            \"is_active\": false,\n                            \"sort_order\": 1,\n                            \"children_count\": 0,\n                            \"provider_services_count\": 0,\n                            \"created_at\": \"2026-10-25 07:46:47\",\n                            \"updated_at\": \"2026-10-25 07:46:47\",\n                            \"ar\": {\n                                \"name\": \"غسيل\",\n                                \"description\": null\n                            },\n                            \"en\": {\n                                \"name\": \"Wash\",\n                                \"description\": null\n                            },\n                            \"children\": []\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Tree",
                                            "_joshen": {
                                                "route": "admin.categories.tree",
                                                "name": "Catalog Tree",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-c07a-7056-9698-ff1502c6822e/services/tree",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-c07a-7056-9698-ff1502c6822e/services/tree",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-c07a-7056-9698-ff1502c6822e",
                                                        "services",
                                                        "tree"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n            \"name\": \"Haircut\",\n            \"description\": \"Cut and style\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n            \"parent_id\": null,\n            \"type\": {\n                \"value\": 1,\n                \"label\": \"Service\"\n            },\n            \"children_selection\": {\n                \"value\": \"single\",\n                \"label\": \"Single\"\n            },\n            \"children_required\": true,\n            \"default_duration_min\": 60,\n            \"reference_price\": \"150.00\",\n            \"min_price\": \"50.00\",\n            \"max_price\": \"300.00\",\n            \"is_active\": true,\n            \"sort_order\": 2,\n            \"children_count\": 1,\n            \"provider_services_count\": 0,\n            \"created_at\": \"2026-10-25 07:46:47\",\n            \"updated_at\": \"2026-10-25 07:46:47\",\n            \"ar\": {\n                \"name\": \"قص الشعر\",\n                \"description\": \"قص وتصفيف\"\n            },\n            \"en\": {\n                \"name\": \"Haircut\",\n                \"description\": \"Cut and style\"\n            },\n            \"children\": [\n                {\n                    \"id\": \"01a17206-c0a3-7354-9b5d-714553dba234\",\n                    \"name\": \"Wash type\",\n                    \"description\": null,\n                    \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                    \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n                    \"parent_id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n                    \"type\": {\n                        \"value\": 2,\n                        \"label\": \"Option group\"\n                    },\n                    \"children_selection\": {\n                        \"value\": \"single\",\n                        \"label\": \"Single\"\n                    },\n                    \"children_required\": true,\n                    \"default_duration_min\": 0,\n                    \"reference_price\": null,\n                    \"min_price\": \"0.00\",\n                    \"max_price\": \"0.00\",\n                    \"is_active\": true,\n                    \"sort_order\": 0,\n                    \"children_count\": 1,\n                    \"provider_services_count\": 0,\n                    \"created_at\": \"2026-10-25 07:46:47\",\n                    \"updated_at\": \"2026-10-25 07:46:47\",\n                    \"ar\": {\n                        \"name\": \"نوع الغسيل\",\n                        \"description\": null\n                    },\n                    \"en\": {\n                        \"name\": \"Wash type\",\n                        \"description\": null\n                    },\n                    \"children\": [\n                        {\n                            \"id\": \"01a17206-c0b6-71cc-af2e-24c5917f4866\",\n                            \"name\": \"Wash\",\n                            \"description\": null,\n                            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                            \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n                            \"parent_id\": \"01a17206-c0a3-7354-9b5d-714553dba234\",\n                            \"type\": {\n                                \"value\": 3,\n                                \"label\": \"Choice\"\n                            },\n                            \"children_selection\": {\n                                \"value\": \"single\",\n                                \"label\": \"Single\"\n                            },\n                            \"children_required\": true,\n                            \"default_duration_min\": 0,\n                            \"reference_price\": null,\n                            \"min_price\": \"10.00\",\n                            \"max_price\": \"40.00\",\n                            \"is_active\": false,\n                            \"sort_order\": 1,\n                            \"children_count\": 0,\n                            \"provider_services_count\": 0,\n                            \"created_at\": \"2026-10-25 07:46:47\",\n                            \"updated_at\": \"2026-10-25 07:46:47\",\n                            \"ar\": {\n                                \"name\": \"غسيل\",\n                                \"description\": null\n                            },\n                            \"en\": {\n                                \"name\": \"Wash\",\n                                \"description\": null\n                            },\n                            \"children\": []\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 V2 Makeup Tree",
                                            "_joshen": {
                                                "route": "admin.categories.tree",
                                                "name": "V2 Makeup Tree",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17208-1af7-7246-a767-2b013952564a/services/tree",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceOptionGroupsTest::test_ac_admin_009_multiple_required_groups_and_provider_prices_match_the_screen"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17208-1af7-7246-a767-2b013952564a/services/tree",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17208-1af7-7246-a767-2b013952564a",
                                                        "services",
                                                        "tree"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a17208-1b05-7234-a292-e9c80f3ac4ee\",\n            \"name\": \"Evening makeup\",\n            \"description\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n            \"parent_id\": null,\n            \"type\": {\n                \"value\": 1,\n                \"label\": \"Service\"\n            },\n            \"children_selection\": {\n                \"value\": \"single\",\n                \"label\": \"Single\"\n            },\n            \"children_required\": true,\n            \"default_duration_min\": 120,\n            \"reference_price\": null,\n            \"min_price\": \"300.00\",\n            \"max_price\": \"450.00\",\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"children_count\": 2,\n            \"provider_services_count\": 0,\n            \"created_at\": \"2026-10-25 07:48:16\",\n            \"updated_at\": \"2026-10-25 07:48:16\",\n            \"ar\": {\n                \"name\": \"مكياج سواريه\",\n                \"description\": null\n            },\n            \"en\": {\n                \"name\": \"Evening makeup\",\n                \"description\": null\n            },\n            \"children\": [\n                {\n                    \"id\": \"01a17208-1b21-73fd-ad66-0fcbe1bd33f7\",\n                    \"name\": \"Eyelashes\",\n                    \"description\": null,\n                    \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                    \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n                    \"parent_id\": \"01a17208-1b05-7234-a292-e9c80f3ac4ee\",\n                    \"type\": {\n                        \"value\": 2,\n                        \"label\": \"Option group\"\n                    },\n                    \"children_selection\": {\n                        \"value\": \"single\",\n                        \"label\": \"Single\"\n                    },\n                    \"children_required\": true,\n                    \"default_duration_min\": 0,\n                    \"reference_price\": null,\n                    \"min_price\": \"0.00\",\n                    \"max_price\": \"0.00\",\n                    \"is_active\": true,\n                    \"sort_order\": 0,\n                    \"children_count\": 2,\n                    \"provider_services_count\": 0,\n                    \"created_at\": \"2026-10-25 07:48:16\",\n                    \"updated_at\": \"2026-10-25 07:48:16\",\n                    \"ar\": {\n                        \"name\": \"الرموش\",\n                        \"description\": null\n                    },\n                    \"en\": {\n                        \"name\": \"Eyelashes\",\n                        \"description\": null\n                    },\n                    \"children\": [\n                        {\n                            \"id\": \"01a17208-1b4c-734d-bd4d-bdc096b43429\",\n                            \"name\": \"Without eyelashes\",\n                            \"description\": null,\n                            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                            \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n                            \"parent_id\": \"01a17208-1b21-73fd-ad66-0fcbe1bd33f7\",\n                            \"type\": {\n                                \"value\": 3,\n                                \"label\": \"Choice\"\n                            },\n                            \"children_selection\": {\n                                \"value\": \"single\",\n                                \"label\": \"Single\"\n                            },\n                            \"children_required\": true,\n                            \"default_duration_min\": 0,\n                            \"reference_price\": \"0.00\",\n                            \"min_price\": \"0.00\",\n                            \"max_price\": \"0.00\",\n                            \"is_active\": true,\n                            \"sort_order\": 0,\n                            \"children_count\": 0,\n                            \"provider_services_count\": 0,\n                            \"created_at\": \"2026-10-25 07:48:16\",\n                            \"updated_at\": \"2026-10-25 07:48:16\",\n                            \"ar\": {\n                                \"name\": \"Without eyelashes\",\n                                \"description\": null\n                            },\n                            \"en\": {\n                                \"name\": \"Without eyelashes\",\n                                \"description\": null\n                            },\n                            \"children\": []\n                        },\n                        {\n                            \"id\": \"01a17208-1b82-7382-8b1f-526bb23d988e\",\n                            \"name\": \"Natural eyelashes\",\n                            \"description\": null,\n                            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                            \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n                            \"parent_id\": \"01a17208-1b21-73fd-ad66-0fcbe1bd33f7\",\n                            \"type\": {\n                                \"value\": 3,\n                                \"label\": \"Choice\"\n                            },\n                            \"children_selection\": {\n                                \"value\": \"single\",\n                                \"label\": \"Single\"\n                            },\n                            \"children_required\": true,\n                            \"default_duration_min\": 0,\n                            \"reference_price\": \"50.00\",\n                            \"min_price\": \"50.00\",\n                            \"max_price\": \"70.00\",\n                            \"is_active\": true,\n                            \"sort_order\": 0,\n                            \"children_count\": 0,\n                            \"provider_services_count\": 0,\n                            \"created_at\": \"2026-10-25 07:48:16\",\n                            \"updated_at\": \"2026-10-25 07:48:16\",\n                            \"ar\": {\n                                \"name\": \"Natural eyelashes\",\n                                \"description\": null\n                            },\n                            \"en\": {\n                                \"name\": \"Natural eyelashes\",\n                                \"description\": null\n                            },\n                            \"children\": []\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"01a17208-1bab-7089-84a2-b37e84dd943f\",\n                    \"name\": \"Hairstyle\",\n                    \"description\": null,\n                    \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                    \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n                    \"parent_id\": \"01a17208-1b05-7234-a292-e9c80f3ac4ee\",\n                    \"type\": {\n                        \"value\": 2,\n                        \"label\": \"Option group\"\n                    },\n                    \"children_selection\": {\n                        \"value\": \"single\",\n                        \"label\": \"Single\"\n                    },\n                    \"children_required\": true,\n                    \"default_duration_min\": 0,\n                    \"reference_price\": null,\n                    \"min_price\": \"0.00\",\n                    \"max_price\": \"0.00\",\n                    \"is_active\": true,\n                    \"sort_order\": 0,\n                    \"children_count\": 2,\n                    \"provider_services_count\": 0,\n                    \"created_at\": \"2026-10-25 07:48:16\",\n                    \"updated_at\": \"2026-10-25 07:48:16\",\n                    \"ar\": {\n                        \"name\": \"تسريحة الشعر\",\n                        \"description\": null\n                    },\n                    \"en\": {\n                        \"name\": \"Hairstyle\",\n                        \"description\": null\n                    },\n                    \"children\": [\n                        {\n                            \"id\": \"01a17208-1bc8-73d3-b80a-a3481569c706\",\n                            \"name\": \"Without hairstyle\",\n                            \"description\": null,\n                            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                            \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n                            \"parent_id\": \"01a17208-1bab-7089-84a2-b37e84dd943f\",\n                            \"type\": {\n                                \"value\": 3,\n                                \"label\": \"Choice\"\n                            },\n                            \"children_selection\": {\n                                \"value\": \"single\",\n                                \"label\": \"Single\"\n                            },\n                            \"children_required\": true,\n                            \"default_duration_min\": 0,\n                            \"reference_price\": \"0.00\",\n                            \"min_price\": \"0.00\",\n                            \"max_price\": \"0.00\",\n                            \"is_active\": true,\n                            \"sort_order\": 0,\n                            \"children_count\": 0,\n                            \"provider_services_count\": 0,\n                            \"created_at\": \"2026-10-25 07:48:16\",\n                            \"updated_at\": \"2026-10-25 07:48:16\",\n                            \"ar\": {\n                                \"name\": \"Without hairstyle\",\n                                \"description\": null\n                            },\n                            \"en\": {\n                                \"name\": \"Without hairstyle\",\n                                \"description\": null\n                            },\n                            \"children\": []\n                        },\n                        {\n                            \"id\": \"01a17208-1be3-7380-9fd6-e5b169e15e5d\",\n                            \"name\": \"Simple hairstyle\",\n                            \"description\": null,\n                            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                            \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n                            \"parent_id\": \"01a17208-1bab-7089-84a2-b37e84dd943f\",\n                            \"type\": {\n                                \"value\": 3,\n                                \"label\": \"Choice\"\n                            },\n                            \"children_selection\": {\n                                \"value\": \"single\",\n                                \"label\": \"Single\"\n                            },\n                            \"children_required\": true,\n                            \"default_duration_min\": 0,\n                            \"reference_price\": \"100.00\",\n                            \"min_price\": \"100.00\",\n                            \"max_price\": \"150.00\",\n                            \"is_active\": true,\n                            \"sort_order\": 0,\n                            \"children_count\": 0,\n                            \"provider_services_count\": 0,\n                            \"created_at\": \"2026-10-25 07:48:16\",\n                            \"updated_at\": \"2026-10-25 07:48:16\",\n                            \"ar\": {\n                                \"name\": \"Simple hairstyle\",\n                                \"description\": null\n                            },\n                            \"en\": {\n                                \"name\": \"Simple hairstyle\",\n                                \"description\": null\n                            },\n                            \"children\": []\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category/services/tree",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category",
                                                        "services",
                                                        "tree"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category/services/tree",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category",
                                                        "services",
                                                        "tree"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category/services/tree",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category",
                                                        "services",
                                                        "tree"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Toggle Active",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/categories/:category/toggle-active",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "categories",
                                                ":category",
                                                "toggle-active"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "category",
                                                    "value": "{{category_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.categories.toggle-active`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Catalog Category Toggle\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully\",\n    \"data\": {\n        \"id\": \"01a17206-bb7f-72c8-b71c-6518f253d92b\",\n        \"name\": \"Hair care\",\n        \"description\": \"Care services\",\n        \"slug\": null,\n        \"icon_key\": \"scissors\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": false,\n        \"sort_order\": 3,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"العناية بالشعر\",\n            \"description\": \"وصف جديد\"\n        },\n        \"en\": {\n            \"name\": \"Hair care\",\n            \"description\": \"Care services\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Category Toggle",
                                            "_joshen": {
                                                "route": "admin.categories.toggle-active",
                                                "name": "Catalog Category Toggle",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-bb7f-72c8-b71c-6518f253d92b/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_crud_and_audit_use_flat_schema"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-bb7f-72c8-b71c-6518f253d92b/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-bb7f-72c8-b71c-6518f253d92b",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully\",\n    \"data\": {\n        \"id\": \"01a17206-bb7f-72c8-b71c-6518f253d92b\",\n        \"name\": \"Hair care\",\n        \"description\": \"Care services\",\n        \"slug\": null,\n        \"icon_key\": \"scissors\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": false,\n        \"sort_order\": 3,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"العناية بالشعر\",\n            \"description\": \"وصف جديد\"\n        },\n        \"en\": {\n            \"name\": \"Hair care\",\n            \"description\": \"Care services\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"category_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/categories?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "categories"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.categories.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `category_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Catalog Category List\n- `200` Catalog Slug List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Catalog Unsupported Sort Unknown Sort\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"categories\": [\n            {\n                \"id\": \"01a17206-bf46-723e-916e-e42301335da8\",\n                \"name\": \"Hair\",\n                \"description\": null,\n                \"slug\": null,\n                \"icon_key\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"sort_order\": 1,\n                \"services_count\": 3,\n                \"active_subservices_count\": 2,\n                \"created_at\": \"2026-10-25 07:46:47\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/categories?search=%D8%B4%D8%B9%D8%B1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&per_page=1&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/categories?search=%D8%B4%D8%B9%D8%B1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&per_page=1&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/categories?search=%D8%B4%D8%B9%D8%B1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&per_page=1&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/categories\",\n            \"per_page\": 1,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Category List",
                                            "_joshen": {
                                                "route": "admin.categories.index",
                                                "name": "Catalog Category List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": {
                                                        "search": "شعر",
                                                        "filters": {
                                                            "is_active": "1"
                                                        },
                                                        "sort": {
                                                            "sort_order": "asc"
                                                        },
                                                        "per_page": "1"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_list_search_filters_counts_and_pagination"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories?search=شعر&filters[is_active]=1&sort[sort_order]=asc&per_page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "search",
                                                            "value": "شعر"
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1"
                                                        },
                                                        {
                                                            "key": "sort[sort_order]",
                                                            "value": "asc"
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"categories\": [\n            {\n                \"id\": \"01a17206-bf46-723e-916e-e42301335da8\",\n                \"name\": \"Hair\",\n                \"description\": null,\n                \"slug\": null,\n                \"icon_key\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"sort_order\": 1,\n                \"services_count\": 3,\n                \"active_subservices_count\": 2,\n                \"created_at\": \"2026-10-25 07:46:47\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/categories?search=%D8%B4%D8%B9%D8%B1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&per_page=1&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/categories?search=%D8%B4%D8%B9%D8%B1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&per_page=1&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/categories?search=%D8%B4%D8%B9%D8%B1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&per_page=1&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/categories\",\n            \"per_page\": 1,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Catalog Slug List",
                                            "_joshen": {
                                                "route": "admin.categories.index",
                                                "name": "Catalog Slug List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_slug_is_editable_unique_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"categories\": [\n            {\n                \"id\": \"01a17206-ffb9-7201-bbea-8af461a5f525\",\n                \"name\": \"Makeup\",\n                \"description\": null,\n                \"slug\": \"makeup\",\n                \"icon_key\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"sort_order\": 1,\n                \"services_count\": 0,\n                \"active_subservices_count\": 0,\n                \"created_at\": \"2026-10-25 07:47:03\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/categories?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/categories?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/categories?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/categories\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Unsupported Sort Unknown Sort",
                                            "_joshen": {
                                                "route": "admin.categories.index",
                                                "name": "Catalog Unsupported Sort Unknown Sort",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": {
                                                        "sort": {
                                                            "unknown_sort": "asc"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_unsupported_keys_are_named_in_422_messages"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories?sort[unknown_sort]=asc",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "sort[unknown_sort]",
                                                            "value": "asc"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): sort.unknown_sort.\",\n    \"data\": {\n        \"errors\": {\n            \"sort\": [\n                \"Unsupported input key(s): sort.unknown_sort.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "category_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"category_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.categories.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"name\":\"مكياج\",\"description\":\"مكياج بسيط وكحل\"}`\n- **Validation rules:** `required|array|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English text; send the name with it.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Makeup\",\"description\":\"Simple makeup and eyeliner\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `slug`\n- **Description:** Optional unique URL-friendly key.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|max:255|unique:categories,slug,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n- `unique:categories,slug,NULL,id` — must be unique (categories, slug, NULL, id).\n### `icon_key`\n- **Description:** Name of the app icon shown for the category, up to 40 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|max:40`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:40` — must not exceed 40.\n### `sort_order`\n- **Description:** Display order, lowest first.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `is_active`\n- **Description:** Switch that shows or hides the category and its services in the apps; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `image`\n- **Description:** Category image: the `hash` returned by the media upload (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `parent_id`\n- **Description:** parent category _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `children`\n- **Description:** Children _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `ar.name`\n- **Description:** Arabic category name, up to 100 characters, unique in Arabic.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `مكياج`\n- **Validation rules:** `required|string|max:100|unique:category_translations,name,NULL,category_id,locale,\"ar\"`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:category_translations,name,NULL,category_id,locale,\"ar\"` — must be unique (category_translations, name, NULL, category_id, locale, \"ar\").\n### `ar.description`\n- **Description:** Arabic description; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `مكياج بسيط وكحل`\n- **Validation rules:** `sometimes|nullable|string|max:16000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:16000` — must not exceed 16000.\n### `en.name`\n- **Description:** English category name, unique in English.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Makeup`\n- **Validation rules:** `required_with:en|string|max:100|unique:category_translations,name,NULL,category_id,locale,\"en\"`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:category_translations,name,NULL,category_id,locale,\"en\"` — must be unique (category_translations, name, NULL, category_id, locale, \"en\").\n### `en.description`\n- **Description:** English description; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Simple makeup and eyeliner`\n- **Validation rules:** `sometimes|nullable|string|max:16000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:16000` — must not exceed 16000.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `category_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Catalog Categories With Image\n- `201` Catalog Category Simple Form\n- `201` Catalog Category Store\n- `201` Catalog Slug Create\n- `201` Categories Created With Both Locales\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Catalog Slug Duplicate\n- `422` Catalog Unsupported Ar Unknown Ar\n- `422` Catalog Unsupported En Unknown En\n- `422` Catalog Validation\n- `422` Categories Store Missing Arabic Name\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-f090-7057-abb4-8fc311682922\",\n        \"name\": \"صورة الكتالوج\",\n        \"description\": null,\n        \"slug\": null,\n        \"icon_key\": null,\n        \"image\": \"http://localhost/storage/uploads/image/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e.webp\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:59\",\n        \"updated_at\": \"2026-10-25 07:46:59\",\n        \"ar\": {\n            \"name\": \"صورة الكتالوج\",\n            \"description\": null\n        },\n        \"en\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Catalog Categories With Image",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Catalog Categories With Image",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "صورة الكتالوج"
                                                        },
                                                        "image": "afe2996438338e0c07ea876ef2aad31c"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_uploaded_media_hash_attaches_replaces_and_clears"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"صورة الكتالوج\"\n    },\n    \"image\": \"afe2996438338e0c07ea876ef2aad31c\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-f090-7057-abb4-8fc311682922\",\n        \"name\": \"صورة الكتالوج\",\n        \"description\": null,\n        \"slug\": null,\n        \"icon_key\": null,\n        \"image\": \"http://localhost/storage/uploads/image/16ef13c2-3efd-4e76-93c4-ca6d75ea6b4e.webp\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:59\",\n        \"updated_at\": \"2026-10-25 07:46:59\",\n        \"ar\": {\n            \"name\": \"صورة الكتالوج\",\n            \"description\": null\n        },\n        \"en\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 Catalog Category Simple Form",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Catalog Category Simple Form",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "مكياج",
                                                            "description": "مكياج بسيط وكحل"
                                                        },
                                                        "en": {
                                                            "name": "Makeup",
                                                            "description": "Simple makeup and eyeliner"
                                                        },
                                                        "image": null,
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CategoryRequestExamplesTest::test_ac_admin_008_generated_category_payload_succeeds_on_real_endpoints"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-0561-735f-b986-41b2f6b9a080\",\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\",\n        \"slug\": null,\n        \"icon_key\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:47:05\",\n        \"updated_at\": \"2026-10-25 07:47:05\",\n        \"ar\": {\n            \"name\": \"مكياج\",\n            \"description\": \"مكياج بسيط وكحل\"\n        },\n        \"en\": {\n            \"name\": \"Makeup\",\n            \"description\": \"Simple makeup and eyeliner\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Catalog Category Store",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Catalog Category Store",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "العناية بالشعر",
                                                            "description": "خدمات العناية"
                                                        },
                                                        "en": {
                                                            "name": "Hair care",
                                                            "description": "Care services"
                                                        },
                                                        "icon_key": "scissors",
                                                        "sort_order": 3
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_crud_and_audit_use_flat_schema"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"العناية بالشعر\",\n        \"description\": \"خدمات العناية\"\n    },\n    \"en\": {\n        \"name\": \"Hair care\",\n        \"description\": \"Care services\"\n    },\n    \"icon_key\": \"scissors\",\n    \"sort_order\": 3\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-bb7f-72c8-b71c-6518f253d92b\",\n        \"name\": \"Hair care\",\n        \"description\": \"Care services\",\n        \"slug\": null,\n        \"icon_key\": \"scissors\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 3,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"العناية بالشعر\",\n            \"description\": \"خدمات العناية\"\n        },\n        \"en\": {\n            \"name\": \"Hair care\",\n            \"description\": \"Care services\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Catalog Slug Create",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Catalog Slug Create",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "مكياج"
                                                        },
                                                        "en": {
                                                            "name": "Makeup"
                                                        },
                                                        "sort_order": 1,
                                                        "is_active": true,
                                                        "slug": "makeup"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_slug_is_editable_unique_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\"\n    },\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"slug\": \"makeup\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-ffb9-7201-bbea-8af461a5f525\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"slug\": \"makeup\",\n        \"icon_key\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 1,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:47:03\",\n        \"updated_at\": \"2026-10-25 07:47:03\",\n        \"ar\": {\n            \"name\": \"مكياج\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Makeup\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Categories Created With Both Locales",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Categories Created With Both Locales",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "مكياج"
                                                        },
                                                        "en": {
                                                            "name": "Makeup"
                                                        },
                                                        "slug": "makeup",
                                                        "icon_key": "brush",
                                                        "sort_order": 1
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_008_category_form_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\"\n    },\n    \"slug\": \"makeup\",\n    \"icon_key\": \"brush\",\n    \"sort_order\": 1\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f186-700a-8b44-e8aafbf37264\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"slug\": \"makeup\",\n        \"icon_key\": \"brush\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 1,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-11-08 10:35:10\",\n        \"updated_at\": \"2026-11-08 10:35:10\",\n        \"ar\": {\n            \"name\": \"مكياج\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Makeup\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Slug Duplicate",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Catalog Slug Duplicate",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "تجميل جديد"
                                                        },
                                                        "slug": "MAKEUP"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_slug_duplicates_return_422_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"تجميل جديد\"\n    },\n    \"slug\": \"MAKEUP\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The slug has already been taken.\",\n    \"data\": {\n        \"errors\": {\n            \"slug\": [\n                \"The slug has already been taken.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Unsupported Ar Unknown Ar",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Catalog Unsupported Ar Unknown Ar",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "تصنيف",
                                                            "unknown_ar": 1
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_unsupported_keys_are_named_in_422_messages"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"تصنيف\",\n        \"unknown_ar\": 1\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): ar.unknown_ar.\",\n    \"data\": {\n        \"errors\": {\n            \"ar\": [\n                \"Unsupported input key(s): ar.unknown_ar.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Unsupported En Unknown En",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Catalog Unsupported En Unknown En",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "تصنيف"
                                                        },
                                                        "en": {
                                                            "name": "Category",
                                                            "unknown_en": 1
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_unsupported_keys_are_named_in_422_messages"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"تصنيف\"\n    },\n    \"en\": {\n        \"name\": \"Category\",\n        \"unknown_en\": 1\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): en.unknown_en.\",\n    \"data\": {\n        \"errors\": {\n            \"en\": [\n                \"Unsupported input key(s): en.unknown_en.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Validation",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Catalog Validation",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_010_invalid_partial_range_returns_localized_422_and_preserves_state"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Arabic data field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"ar\": [\n                \"The Arabic data field is required.\"\n            ],\n            \"ar.name\": [\n                \"The name (Arabic) field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Categories Store Missing Arabic Name",
                                            "_joshen": {
                                                "route": "admin.categories.store",
                                                "name": "Categories Store Missing Arabic Name",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories",
                                                    "query": null,
                                                    "body": {
                                                        "en": {
                                                            "name": "Only English"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_008_category_form_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"en\": {\n        \"name\": \"Only English\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Arabic data field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"ar\": [\n                \"The Arabic data field is required.\"\n            ],\n            \"ar.name\": [\n                \"The name (Arabic) field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "category_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"category_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "categories",
                                                ":category"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "category",
                                                    "value": "{{category_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.categories.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `category_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Catalog Category Show\n- `200` Catalog Slug Show\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-bb7f-72c8-b71c-6518f253d92b\",\n        \"name\": \"Hair care\",\n        \"description\": \"Care services\",\n        \"slug\": null,\n        \"icon_key\": \"scissors\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 3,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"العناية بالشعر\",\n            \"description\": \"خدمات العناية\"\n        },\n        \"en\": {\n            \"name\": \"Hair care\",\n            \"description\": \"Care services\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Category Show",
                                            "_joshen": {
                                                "route": "admin.categories.show",
                                                "name": "Catalog Category Show",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-bb7f-72c8-b71c-6518f253d92b",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_crud_and_audit_use_flat_schema"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-bb7f-72c8-b71c-6518f253d92b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-bb7f-72c8-b71c-6518f253d92b"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-bb7f-72c8-b71c-6518f253d92b\",\n        \"name\": \"Hair care\",\n        \"description\": \"Care services\",\n        \"slug\": null,\n        \"icon_key\": \"scissors\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 3,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"العناية بالشعر\",\n            \"description\": \"خدمات العناية\"\n        },\n        \"en\": {\n            \"name\": \"Hair care\",\n            \"description\": \"Care services\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Catalog Slug Show",
                                            "_joshen": {
                                                "route": "admin.categories.show",
                                                "name": "Catalog Slug Show",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-ffb9-7201-bbea-8af461a5f525",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_slug_is_editable_unique_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-ffb9-7201-bbea-8af461a5f525",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-ffb9-7201-bbea-8af461a5f525"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-ffb9-7201-bbea-8af461a5f525\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"slug\": \"makeup\",\n        \"icon_key\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 1,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:47:03\",\n        \"updated_at\": \"2026-10-25 07:47:03\",\n        \"ar\": {\n            \"name\": \"مكياج\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Makeup\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "category_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"category_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "categories",
                                                ":category"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "category",
                                                    "value": "{{category_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.categories.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"مكياج\",\"description\":\"مكياج بسيط وكحل\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English text; send the name with it.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Makeup\",\"description\":\"Simple makeup and eyeliner\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `slug`\n- **Description:** Optional unique URL-friendly key.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|max:255|unique:categories,slug,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n- `unique:categories,slug,NULL,id` — must be unique (categories, slug, NULL, id).\n### `icon_key`\n- **Description:** Name of the app icon shown for the category, up to 40 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|max:40`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:40` — must not exceed 40.\n### `sort_order`\n- **Description:** Display order, lowest first.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `is_active`\n- **Description:** Switch that shows or hides the category and its services in the apps; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `image`\n- **Description:** Category image: the `hash` returned by the media upload (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `parent_id`\n- **Description:** parent category _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `children`\n- **Description:** Children _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `ar.name`\n- **Description:** Arabic category name, up to 100 characters, unique in Arabic.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `مكياج`\n- **Validation rules:** `sometimes|string|max:100|unique:category_translations,name,NULL,category_id,locale,\"ar\"`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:category_translations,name,NULL,category_id,locale,\"ar\"` — must be unique (category_translations, name, NULL, category_id, locale, \"ar\").\n### `ar.description`\n- **Description:** Arabic description; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `مكياج بسيط وكحل`\n- **Validation rules:** `sometimes|nullable|string|max:16000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:16000` — must not exceed 16000.\n### `en.name`\n- **Description:** English category name, unique in English.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Makeup`\n- **Validation rules:** `required_with:en|string|max:100|unique:category_translations,name,NULL,category_id,locale,\"en\"`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:category_translations,name,NULL,category_id,locale,\"en\"` — must be unique (category_translations, name, NULL, category_id, locale, \"en\").\n### `en.description`\n- **Description:** English description; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Simple makeup and eyeliner`\n- **Validation rules:** `sometimes|nullable|string|max:16000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:16000` — must not exceed 16000.\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `category_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Catalog Category Update\n- `200` Catalog Slug Clear\n- `200` Catalog Slug Update\n- `200` Categories Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Categories Update Duplicate Slug\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-bb7f-72c8-b71c-6518f253d92b\",\n        \"name\": \"Hair care\",\n        \"description\": \"Care services\",\n        \"slug\": null,\n        \"icon_key\": \"scissors\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 3,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"العناية بالشعر\",\n            \"description\": \"وصف جديد\"\n        },\n        \"en\": {\n            \"name\": \"Hair care\",\n            \"description\": \"Care services\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Category Update",
                                            "_joshen": {
                                                "route": "admin.categories.update",
                                                "name": "Catalog Category Update",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-bb7f-72c8-b71c-6518f253d92b",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "description": "وصف جديد"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_crud_and_audit_use_flat_schema"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-bb7f-72c8-b71c-6518f253d92b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-bb7f-72c8-b71c-6518f253d92b"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"description\": \"وصف جديد\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-bb7f-72c8-b71c-6518f253d92b\",\n        \"name\": \"Hair care\",\n        \"description\": \"Care services\",\n        \"slug\": null,\n        \"icon_key\": \"scissors\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 3,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"العناية بالشعر\",\n            \"description\": \"وصف جديد\"\n        },\n        \"en\": {\n            \"name\": \"Hair care\",\n            \"description\": \"Care services\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Catalog Slug Clear",
                                            "_joshen": {
                                                "route": "admin.categories.update",
                                                "name": "Catalog Slug Clear",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-ffb9-7201-bbea-8af461a5f525",
                                                    "query": null,
                                                    "body": {
                                                        "slug": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_slug_is_editable_unique_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-ffb9-7201-bbea-8af461a5f525",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-ffb9-7201-bbea-8af461a5f525"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-ffb9-7201-bbea-8af461a5f525\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"slug\": null,\n        \"icon_key\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 2,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:47:03\",\n        \"updated_at\": \"2026-10-25 07:47:03\",\n        \"ar\": {\n            \"name\": \"مكياج\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Makeup\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Catalog Slug Update",
                                            "_joshen": {
                                                "route": "admin.categories.update",
                                                "name": "Catalog Slug Update",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-ffb9-7201-bbea-8af461a5f525",
                                                    "query": null,
                                                    "body": {
                                                        "slug": "cosmetics"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_slug_is_editable_unique_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-ffb9-7201-bbea-8af461a5f525",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-ffb9-7201-bbea-8af461a5f525"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"cosmetics\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-ffb9-7201-bbea-8af461a5f525\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"slug\": \"cosmetics\",\n        \"icon_key\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 1,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-10-25 07:47:03\",\n        \"updated_at\": \"2026-10-25 07:47:03\",\n        \"ar\": {\n            \"name\": \"مكياج\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Makeup\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Categories Updated",
                                            "_joshen": {
                                                "route": "admin.categories.update",
                                                "name": "Categories Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a1bab9-f186-700a-8b44-e8aafbf37264",
                                                    "query": null,
                                                    "body": {
                                                        "sort_order": 4,
                                                        "icon_key": "hair"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_008_category_form_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a1bab9-f186-700a-8b44-e8aafbf37264",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a1bab9-f186-700a-8b44-e8aafbf37264"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"sort_order\": 4,\n    \"icon_key\": \"hair\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f186-700a-8b44-e8aafbf37264\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"slug\": \"makeup\",\n        \"icon_key\": \"hair\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"sort_order\": 4,\n        \"services_count\": 0,\n        \"active_subservices_count\": 0,\n        \"created_at\": \"2026-11-08 10:35:10\",\n        \"updated_at\": \"2026-11-08 10:35:10\",\n        \"ar\": {\n            \"name\": \"مكياج\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Makeup\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مكياج\",\n        \"description\": \"مكياج بسيط وكحل\"\n    },\n    \"en\": {\n        \"name\": \"Makeup\",\n        \"description\": \"Simple makeup and eyeliner\"\n    },\n    \"image\": null,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Categories Update Duplicate Slug",
                                            "_joshen": {
                                                "route": "admin.categories.update",
                                                "name": "Categories Update Duplicate Slug",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a1bab9-f186-700a-8b44-e8aafbf37264",
                                                    "query": null,
                                                    "body": {
                                                        "slug": "taken"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ContentCatalogExamplesTest::test_ac_admin_008_category_form_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a1bab9-f186-700a-8b44-e8aafbf37264",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a1bab9-f186-700a-8b44-e8aafbf37264"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"slug\": \"taken\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The slug has already been taken.\",\n    \"data\": {\n        \"errors\": {\n            \"slug\": [\n                \"The slug has already been taken.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "category_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "categories",
                                                ":category"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "category",
                                                    "value": "{{category_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.categories.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Catalog Category Delete\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Catalog In Use — `error_code: CATALOG_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Category Delete",
                                            "_joshen": {
                                                "route": "admin.categories.destroy",
                                                "name": "Catalog Category Delete",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-bb7f-72c8-b71c-6518f253d92b",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_category_crud_and_audit_use_flat_schema"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-bb7f-72c8-b71c-6518f253d92b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-bb7f-72c8-b71c-6518f253d92b"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/:category",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        ":category"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "category",
                                                            "value": "{{category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Catalog In Use",
                                            "_joshen": {
                                                "route": "admin.categories.destroy",
                                                "name": "Catalog In Use",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/categories/01a17206-df5b-738d-8619-afe4e0057bd8",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_delete_referenced_record_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/categories/01a17206-df5b-738d-8619-afe4e0057bd8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "categories",
                                                        "01a17206-df5b-738d-8619-afe4e0057bd8"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This catalog record is referenced. Deactivate it instead.\",\n    \"data\": {\n        \"error_code\": \"CATALOG_IN_USE\",\n        \"correlation_id\": \"94bdb327-b5f5-4f40-bab7-e3e15d020f18\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "General",
                    "item": [
                        {
                            "name": "Onboarding slides",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"onboarding_slide_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/onboarding-slides?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "onboarding-slides"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.onboarding-slides.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `onboarding_slide_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Customer slides sorted by order\n- `200` Paginated list\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab6-dc3f-7176-8817-5d71928f823b\",\n            \"app\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"title\": \"Sample-zeez52218770\",\n            \"body\": \"Dolorem ut officia laborum modi laudantium sunt assumenda.\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"sort_order\": 1,\n            \"is_active\": true\n        },\n        {\n            \"id\": \"01a1bab6-dc3a-7282-b2eb-39c7cb9529e0\",\n            \"app\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"title\": \"Sample-sgoo69780508\",\n            \"body\": \"Cum sint laboriosam quis et molestiae ipsam soluta.\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"sort_order\": 2,\n            \"is_active\": true\n        },\n        {\n            \"id\": \"01a1bab6-dc42-72a4-849f-fa36bafcac7d\",\n            \"app\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"title\": \"Sample-ehry90467476\",\n            \"body\": \"Architecto quo in sapiente magnam ea.\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"sort_order\": 3,\n            \"is_active\": false\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer slides sorted by order",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.index",
                                                "name": "Customer slides sorted by order",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides",
                                                    "query": {
                                                        "filters": {
                                                            "app": "customer"
                                                        },
                                                        "sort": {
                                                            "sort_order": "asc"
                                                        },
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_index_filters_by_app_and_active_and_sorts_by_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides?filters[app]=customer&sort[sort_order]=asc&paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "customer"
                                                        },
                                                        {
                                                            "key": "sort[sort_order]",
                                                            "value": "asc"
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab6-dc3f-7176-8817-5d71928f823b\",\n            \"app\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"title\": \"Sample-zeez52218770\",\n            \"body\": \"Dolorem ut officia laborum modi laudantium sunt assumenda.\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"sort_order\": 1,\n            \"is_active\": true\n        },\n        {\n            \"id\": \"01a1bab6-dc3a-7282-b2eb-39c7cb9529e0\",\n            \"app\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"title\": \"Sample-sgoo69780508\",\n            \"body\": \"Cum sint laboriosam quis et molestiae ipsam soluta.\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"sort_order\": 2,\n            \"is_active\": true\n        },\n        {\n            \"id\": \"01a1bab6-dc42-72a4-849f-fa36bafcac7d\",\n            \"app\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"title\": \"Sample-ehry90467476\",\n            \"body\": \"Architecto quo in sapiente magnam ea.\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n            \"sort_order\": 3,\n            \"is_active\": false\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 Paginated list",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.index",
                                                "name": "Paginated list",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_index_filters_by_app_and_active_and_sorts_by_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"onboarding_slides\": [\n            {\n                \"id\": \"01a1bab6-dc53-7195-adb0-c8bd2e3a8930\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"عنوان فريد\",\n                \"body\": \"نص\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"sort_order\": 0,\n                \"is_active\": true\n            },\n            {\n                \"id\": \"01a1bab6-dc44-71bc-b613-046136ce7f47\",\n                \"app\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"title\": \"Sample-jksd99310598\",\n                \"body\": \"Eum commodi ut ut molestiae fuga aut non qui.\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"sort_order\": 0,\n                \"is_active\": true\n            },\n            {\n                \"id\": \"01a1bab6-dc42-72a4-849f-fa36bafcac7d\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"Sample-ehry90467476\",\n                \"body\": \"Architecto quo in sapiente magnam ea.\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"sort_order\": 3,\n                \"is_active\": false\n            },\n            {\n                \"id\": \"01a1bab6-dc3f-7176-8817-5d71928f823b\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"Sample-zeez52218770\",\n                \"body\": \"Dolorem ut officia laborum modi laudantium sunt assumenda.\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"sort_order\": 1,\n                \"is_active\": true\n            },\n            {\n                \"id\": \"01a1bab6-dc3a-7282-b2eb-39c7cb9529e0\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"title\": \"Sample-sgoo69780508\",\n                \"body\": \"Cum sint laboriosam quis et molestiae ipsam soluta.\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"sort_order\": 2,\n                \"is_active\": true\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/onboarding-slides?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/onboarding-slides?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/onboarding-slides?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/onboarding-slides\",\n            \"per_page\": 15,\n            \"to\": 5,\n            \"total\": 5\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "onboarding_slide_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"onboarding_slide_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/onboarding-slides",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "onboarding-slides"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.onboarding-slides.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"title\":\"احجزي خدماتك بسهولة\",\"body\":\"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"}`\n- **Validation rules:** `required|array|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English text; when sent it needs both title and body.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"Book your services with ease\",\"body\":\"Pick the service and the time and the specialist comes to you.\"}`\n- **Validation rules:** `sometimes|nullable|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `app`\n- **Description:** App whose first-launch intro shows this slide: customer, provider or driver. Only the customer app reads slides today (CUST-001).\n- **Type:** `string (enum)`\n- **Allowed values:** `customer`, `provider`, `driver`\n- **Required:** required\n- **Example:** `customer`\n- **Validation rules:** `required|in:\"customer\",\"provider\",\"driver\"`\n- `required` — must be provided.\n- `in:\"customer\",\"provider\",\"driver\"` — must be one of: \"customer\", \"provider\", \"driver\".\n### `sort_order`\n- **Description:** Display order, lowest first; 0 by default.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `is_active`\n- **Description:** Switch that shows or hides the slide without deleting it; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `image`\n- **Description:** Slide illustration: the `hash` returned by the media upload; jpg, jpeg, png or webp up to 5120 KB (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `ar.title`\n- **Description:** Arabic slide headline, up to 200 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `احجزي خدماتك بسهولة`\n- **Validation rules:** `required|string|max:200`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `ar.body`\n- **Description:** Arabic text under the headline, up to 500 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `en.title`\n- **Description:** English slide headline, up to 200 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Book your services with ease`\n- **Validation rules:** `required_with:en|string|max:200`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `en.body`\n- **Description:** English text under the headline, up to 500 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Pick the service and the time and the specialist comes to you.`\n- **Validation rules:** `required_with:en|string|max:500`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `onboarding_slide_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Slide created with both locales\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Body over 500 characters and unknown app\n- `422` Empty form\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1bab6-db65-726d-96ab-66ae47df5fea\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"title\": \"احجزي بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد.\",\n        \"image\": \"http://localhost/storage/slides/slide-image-hash.png\",\n        \"sort_order\": 1,\n        \"is_active\": true\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي خدماتك بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"\n    },\n    \"en\": {\n        \"title\": \"Book your services with ease\",\n        \"body\": \"Pick the service and the time and the specialist comes to you.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Slide created with both locales",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.store",
                                                "name": "Slide created with both locales",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "title": "احجزي بسهولة",
                                                            "body": "اختاري الخدمة والموعد."
                                                        },
                                                        "en": {
                                                            "title": "Book with ease",
                                                            "body": "Pick the service and the time."
                                                        },
                                                        "app": "customer",
                                                        "sort_order": 1,
                                                        "is_active": true,
                                                        "image": "slide-image-hash"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_store_saves_both_locales_app_and_image"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد.\"\n    },\n    \"en\": {\n        \"title\": \"Book with ease\",\n        \"body\": \"Pick the service and the time.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"slide-image-hash\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1bab6-db65-726d-96ab-66ae47df5fea\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"title\": \"احجزي بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد.\",\n        \"image\": \"http://localhost/storage/slides/slide-image-hash.png\",\n        \"sort_order\": 1,\n        \"is_active\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي خدماتك بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"\n    },\n    \"en\": {\n        \"title\": \"Book your services with ease\",\n        \"body\": \"Pick the service and the time and the specialist comes to you.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي خدماتك بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"\n    },\n    \"en\": {\n        \"title\": \"Book your services with ease\",\n        \"body\": \"Pick the service and the time and the specialist comes to you.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي خدماتك بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"\n    },\n    \"en\": {\n        \"title\": \"Book your services with ease\",\n        \"body\": \"Pick the service and the time and the specialist comes to you.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Body over 500 characters and unknown app",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.store",
                                                "name": "Body over 500 characters and unknown app",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "title": "احجزي بسهولة",
                                                            "body": "ااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا"
                                                        },
                                                        "en": {
                                                            "title": "Book with ease",
                                                            "body": "Pick the service and the time."
                                                        },
                                                        "app": "admin",
                                                        "sort_order": 1,
                                                        "is_active": true,
                                                        "image": "slide-image-hash"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_store_validates_the_form"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي بسهولة\",\n        \"body\": \"ااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا\"\n    },\n    \"en\": {\n        \"title\": \"Book with ease\",\n        \"body\": \"Pick the service and the time.\"\n    },\n    \"app\": \"admin\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"slide-image-hash\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"قيمة App المختارة غير صالحة. (و 1 خطأ آخر)\",\n    \"data\": {\n        \"errors\": {\n            \"app\": [\n                \"قيمة App المختارة غير صالحة.\"\n            ],\n            \"ar.body\": [\n                \"حقل Body (ar) يجب ألا يتجاوز 500 حرفًا.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Empty form",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.store",
                                                "name": "Empty form",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_store_validates_the_form"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"حقل البيانات العربية مطلوب. (و 4 أخطاء أخرى)\",\n    \"data\": {\n        \"errors\": {\n            \"ar\": [\n                \"حقل البيانات العربية مطلوب.\"\n            ],\n            \"app\": [\n                \"حقل App مطلوب.\"\n            ],\n            \"image\": [\n                \"حقل الصورة مطلوب.\"\n            ],\n            \"ar.title\": [\n                \"حقل العنوان (ar) مطلوب.\"\n            ],\n            \"ar.body\": [\n                \"حقل Body (ar) مطلوب.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "onboarding_slide_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"onboarding_slide_id\",\"Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"onboarding_slide_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "onboarding-slides",
                                                ":onboarding_slide"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "onboarding_slide",
                                                    "value": "{{onboarding_slide_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.onboarding-slides.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{onboarding_slide_id}}` — Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `onboarding_slide_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Slide details with both locales\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Integer id is not a slide\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1bab6-dc7a-7384-bf3c-f0c4672e90bd\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"title\": \"Sample-llxb54013609\",\n        \"body\": \"Et nihil consequatur veritatis et et eligendi provident quidem.\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"sort_order\": 0,\n        \"is_active\": true,\n        \"en\": {\n            \"title\": \"Sample-agsw64117316\",\n            \"body\": \"Quia ab iste adipisci.\"\n        },\n        \"ar\": {\n            \"title\": \"Sample-llxb54013609\",\n            \"body\": \"Et nihil consequatur veritatis et et eligendi provident quidem.\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Slide details with both locales",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.show",
                                                "name": "Slide details with both locales",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides/01a1bab6-dc7a-7384-bf3c-f0c4672e90bd",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_show_returns_both_locales_and_unknown_id_is_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/01a1bab6-dc7a-7384-bf3c-f0c4672e90bd",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        "01a1bab6-dc7a-7384-bf3c-f0c4672e90bd"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1bab6-dc7a-7384-bf3c-f0c4672e90bd\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"title\": \"Sample-llxb54013609\",\n        \"body\": \"Et nihil consequatur veritatis et et eligendi provident quidem.\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"sort_order\": 0,\n        \"is_active\": true,\n        \"en\": {\n            \"title\": \"Sample-agsw64117316\",\n            \"body\": \"Quia ab iste adipisci.\"\n        },\n        \"ar\": {\n            \"title\": \"Sample-llxb54013609\",\n            \"body\": \"Et nihil consequatur veritatis et et eligendi provident quidem.\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Integer id is not a slide",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.show",
                                                "name": "Integer id is not a slide",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides/9",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_show_returns_both_locales_and_unknown_id_is_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/9",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        "9"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"المورد غير موجود\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "onboarding_slide_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "onboarding_slide_id",
                                                "set_by": [
                                                    "admin.onboarding-slides.index",
                                                    "admin.onboarding-slides.store",
                                                    "admin.onboarding-slides.show",
                                                    "admin.onboarding-slides.update",
                                                    "client.onboarding-slides.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"onboarding_slide_id\",\"Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"onboarding_slide_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "onboarding-slides",
                                                ":onboarding_slide"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "onboarding_slide",
                                                    "value": "{{onboarding_slide_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.onboarding-slides.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"احجزي خدماتك بسهولة\",\"body\":\"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English text; when sent it needs both title and body.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"title\":\"Book your services with ease\",\"body\":\"Pick the service and the time and the specialist comes to you.\"}`\n- **Validation rules:** `sometimes|nullable|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `app`\n- **Description:** App whose first-launch intro shows this slide: customer, provider or driver. Only the customer app reads slides today (CUST-001).\n- **Type:** `string (enum)`\n- **Allowed values:** `customer`, `provider`, `driver`\n- **Required:** optional\n- **Example:** `customer`\n- **Validation rules:** `sometimes|in:\"customer\",\"provider\",\"driver\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"customer\",\"provider\",\"driver\"` — must be one of: \"customer\", \"provider\", \"driver\".\n### `sort_order`\n- **Description:** Display order, lowest first; 0 by default.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `is_active`\n- **Description:** Switch that shows or hides the slide without deleting it; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `image`\n- **Description:** Slide illustration: the `hash` returned by the media upload; jpg, jpeg, png or webp up to 5120 KB (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `sometimes|string|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `ar.title`\n- **Description:** Arabic slide headline, up to 200 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `احجزي خدماتك بسهولة`\n- **Validation rules:** `sometimes|string|max:200`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `ar.body`\n- **Description:** Arabic text under the headline, up to 500 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.`\n- **Validation rules:** `sometimes|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `en.title`\n- **Description:** English slide headline, up to 200 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Book your services with ease`\n- **Validation rules:** `required_with:en|string|max:200`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `en.body`\n- **Description:** English text under the headline, up to 500 characters.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Pick the service and the time and the specialist comes to you.`\n- **Validation rules:** `required_with:en|string|max:500`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{onboarding_slide_id}}` — Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `onboarding_slide_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Slide updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown app and title over 200 characters\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1bab6-dcb0-7161-acc7-0bcb758810da\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"title\": \"احجزي بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد.\",\n        \"image\": \"http://localhost/storage/slides/slide-image-two.png\",\n        \"sort_order\": 5,\n        \"is_active\": false\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي خدماتك بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"\n    },\n    \"en\": {\n        \"title\": \"Book your services with ease\",\n        \"body\": \"Pick the service and the time and the specialist comes to you.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Slide updated",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.update",
                                                "name": "Slide updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides/01a1bab6-dcb0-7161-acc7-0bcb758810da",
                                                    "query": null,
                                                    "body": {
                                                        "sort_order": 5,
                                                        "is_active": false,
                                                        "en": {
                                                            "title": "Changed",
                                                            "body": "Changed body"
                                                        },
                                                        "image": "slide-image-two"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_update_changes_fields_and_replaces_the_image"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/01a1bab6-dcb0-7161-acc7-0bcb758810da",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        "01a1bab6-dcb0-7161-acc7-0bcb758810da"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"sort_order\": 5,\n    \"is_active\": false,\n    \"en\": {\n        \"title\": \"Changed\",\n        \"body\": \"Changed body\"\n    },\n    \"image\": \"slide-image-two\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم حفظ البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1bab6-dcb0-7161-acc7-0bcb758810da\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"title\": \"احجزي بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد.\",\n        \"image\": \"http://localhost/storage/slides/slide-image-two.png\",\n        \"sort_order\": 5,\n        \"is_active\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي خدماتك بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"\n    },\n    \"en\": {\n        \"title\": \"Book your services with ease\",\n        \"body\": \"Pick the service and the time and the specialist comes to you.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي خدماتك بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"\n    },\n    \"en\": {\n        \"title\": \"Book your services with ease\",\n        \"body\": \"Pick the service and the time and the specialist comes to you.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"title\": \"احجزي خدماتك بسهولة\",\n        \"body\": \"اختاري الخدمة والموعد وتصلكِ المختصة إلى بابك.\"\n    },\n    \"en\": {\n        \"title\": \"Book your services with ease\",\n        \"body\": \"Pick the service and the time and the specialist comes to you.\"\n    },\n    \"app\": \"customer\",\n    \"sort_order\": 1,\n    \"is_active\": true,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown app and title over 200 characters",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.update",
                                                "name": "Unknown app and title over 200 characters",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides/01a1bab6-dc15-7246-a1c1-f369e07a8acf",
                                                    "query": null,
                                                    "body": {
                                                        "app": "admin",
                                                        "ar": {
                                                            "title": "ااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_update_validates_the_form"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/01a1bab6-dc15-7246-a1c1-f369e07a8acf",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        "01a1bab6-dc15-7246-a1c1-f369e07a8acf"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"app\": \"admin\",\n    \"ar\": {\n        \"title\": \"ااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"قيمة App المختارة غير صالحة. (و 1 خطأ آخر)\",\n    \"data\": {\n        \"errors\": {\n            \"app\": [\n                \"قيمة App المختارة غير صالحة.\"\n            ],\n            \"ar.title\": [\n                \"حقل العنوان (ar) يجب ألا يتجاوز 200 حرفًا.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "onboarding_slide_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "onboarding_slide_id",
                                                "set_by": [
                                                    "admin.onboarding-slides.index",
                                                    "admin.onboarding-slides.store",
                                                    "admin.onboarding-slides.show",
                                                    "admin.onboarding-slides.update",
                                                    "client.onboarding-slides.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"onboarding_slide_id\",\"Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "onboarding-slides",
                                                ":onboarding_slide"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "onboarding_slide",
                                                    "value": "{{onboarding_slide_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.onboarding-slides.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{onboarding_slide_id}}` — Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Slide deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم حذف البيانات بنجاح\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Slide deleted",
                                            "_joshen": {
                                                "route": "admin.onboarding-slides.destroy",
                                                "name": "Slide deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/admin/onboarding-slides/01a1bab6-dd3f-700c-9e26-a4e9bf2357c8",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OnboardingSlideManagementTest::test_ac_scr_08_destroy_removes_the_slide"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/01a1bab6-dd3f-700c-9e26-a4e9bf2357c8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        "01a1bab6-dd3f-700c-9e26-a4e9bf2357c8"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم حذف البيانات بنجاح\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/onboarding-slides/:onboarding_slide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "onboarding-slides",
                                                        ":onboarding_slide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "onboarding_slide",
                                                            "value": "{{onboarding_slide_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "onboarding_slide_id",
                                                "set_by": [
                                                    "admin.onboarding-slides.index",
                                                    "admin.onboarding-slides.store",
                                                    "admin.onboarding-slides.show",
                                                    "admin.onboarding-slides.update",
                                                    "client.onboarding-slides.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/onboarding-slides, POST /api/v1/admin/onboarding-slides, GET /api/v1/admin/onboarding-slides/{onboarding_slide}, PUT /api/v1/admin/onboarding-slides/{onboarding_slide}, GET /api/v1/client/onboarding-slides."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Services",
                            "item": [
                                {
                                    "name": "Toggle Active",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/services/:service/toggle-active",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "services",
                                                ":service",
                                                "toggle-active"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "service",
                                                    "value": "{{service_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.services.toggle-active`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Catalog Service Toggle\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n        \"name\": \"Haircut\",\n        \"description\": \"Cut and style\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"Service\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 60,\n        \"reference_price\": \"150.00\",\n        \"min_price\": \"60.00\",\n        \"max_price\": \"300.00\",\n        \"is_active\": false,\n        \"sort_order\": 2,\n        \"children_count\": 1,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"قص حديث\",\n            \"description\": \"قص وتصفيف\"\n        },\n        \"en\": {\n            \"name\": \"Haircut\",\n            \"description\": \"Cut and style\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Service Toggle",
                                            "_joshen": {
                                                "route": "admin.services.toggle-active",
                                                "name": "Catalog Service Toggle",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services/01a17206-c085-73a4-8fc5-de9fc2ac28b3/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/01a17206-c085-73a4-8fc5-de9fc2ac28b3/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        "01a17206-c085-73a4-8fc5-de9fc2ac28b3",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n        \"name\": \"Haircut\",\n        \"description\": \"Cut and style\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"Service\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 60,\n        \"reference_price\": \"150.00\",\n        \"min_price\": \"60.00\",\n        \"max_price\": \"300.00\",\n        \"is_active\": false,\n        \"sort_order\": 2,\n        \"children_count\": 1,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"قص حديث\",\n            \"description\": \"قص وتصفيف\"\n        },\n        \"en\": {\n            \"name\": \"Haircut\",\n            \"description\": \"Cut and style\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"service_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/services?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "services"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.services.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `service_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Catalog Service List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Catalog Unsupported Filters Unknown Filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"services\": [\n            {\n                \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n                \"name\": \"Haircut\",\n                \"description\": \"Cut and style\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n                \"parent_id\": null,\n                \"type\": {\n                    \"value\": 1,\n                    \"label\": \"Service\"\n                },\n                \"children_selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"children_required\": true,\n                \"default_duration_min\": 60,\n                \"reference_price\": \"150.00\",\n                \"min_price\": \"50.00\",\n                \"max_price\": \"300.00\",\n                \"is_active\": true,\n                \"sort_order\": 2,\n                \"children_count\": 1,\n                \"provider_services_count\": 0,\n                \"created_at\": \"2026-10-25 07:46:47\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/services?search=%D9%82%D8%B5&filters%5Bcategory_id%5D=01a17206-c07a-7056-9698-ff1502c6822e&filters%5Btype%5D=1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/services?search=%D9%82%D8%B5&filters%5Bcategory_id%5D=01a17206-c07a-7056-9698-ff1502c6822e&filters%5Btype%5D=1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/services?search=%D9%82%D8%B5&filters%5Bcategory_id%5D=01a17206-c07a-7056-9698-ff1502c6822e&filters%5Btype%5D=1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/services\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Service List",
                                            "_joshen": {
                                                "route": "admin.services.index",
                                                "name": "Catalog Service List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": {
                                                        "search": "قص",
                                                        "filters": {
                                                            "category_id": "01a17206-c07a-7056-9698-ff1502c6822e",
                                                            "type": "1",
                                                            "is_active": "1"
                                                        },
                                                        "sort": {
                                                            "sort_order": "asc"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services?search=قص&filters[category_id]=01a17206-c07a-7056-9698-ff1502c6822e&filters[type]=1&filters[is_active]=1&sort[sort_order]=asc",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "search",
                                                            "value": "قص"
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "01a17206-c07a-7056-9698-ff1502c6822e"
                                                        },
                                                        {
                                                            "key": "filters[type]",
                                                            "value": "1"
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1"
                                                        },
                                                        {
                                                            "key": "sort[sort_order]",
                                                            "value": "asc"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"services\": [\n            {\n                \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n                \"name\": \"Haircut\",\n                \"description\": \"Cut and style\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n                \"parent_id\": null,\n                \"type\": {\n                    \"value\": 1,\n                    \"label\": \"Service\"\n                },\n                \"children_selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"children_required\": true,\n                \"default_duration_min\": 60,\n                \"reference_price\": \"150.00\",\n                \"min_price\": \"50.00\",\n                \"max_price\": \"300.00\",\n                \"is_active\": true,\n                \"sort_order\": 2,\n                \"children_count\": 1,\n                \"provider_services_count\": 0,\n                \"created_at\": \"2026-10-25 07:46:47\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/services?search=%D9%82%D8%B5&filters%5Bcategory_id%5D=01a17206-c07a-7056-9698-ff1502c6822e&filters%5Btype%5D=1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/services?search=%D9%82%D8%B5&filters%5Bcategory_id%5D=01a17206-c07a-7056-9698-ff1502c6822e&filters%5Btype%5D=1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/services?search=%D9%82%D8%B5&filters%5Bcategory_id%5D=01a17206-c07a-7056-9698-ff1502c6822e&filters%5Btype%5D=1&filters%5Bis_active%5D=1&sort%5Bsort_order%5D=asc&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/services\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Unsupported Filters Unknown Filter",
                                            "_joshen": {
                                                "route": "admin.services.index",
                                                "name": "Catalog Unsupported Filters Unknown Filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": {
                                                        "filters": {
                                                            "unknown_filter": 1
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_unsupported_keys_are_named_in_422_messages"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services?filters[unknown_filter]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[unknown_filter]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): filters.unknown_filter.\",\n    \"data\": {\n        \"errors\": {\n            \"filters\": [\n                \"Unsupported input key(s): filters.unknown_filter.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "service_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"service_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/services",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "services"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.services.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic service translation object.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"name\":\"قصة شعر هادئة\",\"description\":\"قصة شعر هادئة\"}`\n- **Validation rules:** `required|array|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English service translation object.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Simple cut\",\"description\":\"Simple cut\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `ar.name`\n- **Description:** Arabic service name.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `قصة شعر هادئة`\n- **Validation rules:** `required|string|max:150`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `en.name`\n- **Description:** English service name when the English object is supplied.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Simple cut`\n- **Validation rules:** `required_with:en|string|max:150`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `ar.description`\n- **Description:** Optional Arabic service description.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `قصة شعر هادئة`\n- **Validation rules:** `sometimes|nullable|string|max:16000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:16000` — must not exceed 16000.\n### `en.description`\n- **Description:** Optional English service description.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Simple cut`\n- **Validation rules:** `sometimes|nullable|string|max:16000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:16000` — must not exceed 16000.\n### `category_id`\n- **Description:** Category UUID that owns the service.\n- **Type:** `string (uuid)`\n- **Refers to:** a `categories` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{category_id}}`\n- **Validation rules:** `required|uuid|exists:categories,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:categories,uuid` — must reference an existing record (categories, uuid).\n### `parent_id`\n- **Description:** Optional parent service UUID for a service tree node.\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|uuid|exists:services,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n### `type`\n- **Description:** Catalog node type: 1 bookable service, 2 option group, or 3 option.\n- **Type:** `integer`\n- **Allowed values:** `1`, `2`, `3`\n- **Required:** required\n- **Example:** `1`\n- **Validation rules:** `required|integer|in:\"1\",\"2\",\"3\"`\n- `required` — must be provided.\n- `integer` — must be a whole number.\n- `in:\"1\",\"2\",\"3\"` — must be one of: \"1\", \"2\", \"3\".\n### `children_selection`\n- **Description:** For option groups, whether one or multiple children may be selected.\n- **Type:** `string (enum)`\n- **Allowed values:** `single`, `multiple`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|in:\"single\",\"multiple\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"single\",\"multiple\"` — must be one of: \"single\", \"multiple\".\n### `children_required`\n- **Description:** Whether an option group requires a child selection.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `default_duration_min`\n- **Description:** Default service duration in minutes.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `15`\n- **Validation rules:** `sometimes|integer|between:0,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:0,2147483647` — must be between 0, 2147483647.\n### `is_active`\n- **Description:** Whether the catalog service is active.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Ordering value within the catalog tree.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `image`\n- **Description:** Optional uploaded image media hash.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `occasion_ids`\n- **Description:** Optional replacement list of occasion UUIDs for a type-1 bookable service; type-2/3 nodes cannot be tagged.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|array|list|max:20`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:20` — must not exceed 20.\n### `occasion_ids.*`\n- **Description:** UUID of an active finder occasion.\n- **Type:** `string (uuid)`\n- **Refers to:** a `occasions` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|distinct|uuid|exists:occasions,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:occasions,uuid` — must reference an existing record (occasions, uuid).\n### `min_price`\n- **Description:** Minimum provider price for a bookable service, as a decimal string.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `10.00`\n- **Validation rules:** `sometimes|required|numeric|decimal:0,2|min:0|max:9999999999.99`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `max_price`\n- **Description:** Maximum provider price for a bookable service, as a decimal string.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `20.00`\n- **Validation rules:** `sometimes|required|numeric|decimal:0,2|min:0|max:9999999999.99`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `reference_price`\n- **Description:** Optional suggested reference price, as a decimal string.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `10.00`\n- **Validation rules:** `sometimes|nullable|numeric|decimal:0,2|min:0|max:9999999999.99`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Saves `service_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Catalog Choice Store\n- `201` Catalog Group Store\n- `201` Catalog Service Store\n- `201` Catalog Services With Image\n- `201` V2 Free Choice\n- `201` V2 Group Eyelashes\n- `201` V2 Group Hairstyle\n- `201` V2 Paid Choice\n- `201` V2 Simple Service\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Catalog Price Rule 23Fd99Bd — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Catalog Price Rule 275B2Daf — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Catalog Price Rule C2E7Cf4A — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Catalog Price Rule Cb2B945A — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c0b6-71cc-af2e-24c5917f4866\",\n        \"name\": \"Wash\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": \"01a17206-c0a3-7354-9b5d-714553dba234\",\n        \"type\": {\n            \"value\": 3,\n            \"label\": \"Choice\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 0,\n        \"reference_price\": null,\n        \"min_price\": \"10.00\",\n        \"max_price\": \"40.00\",\n        \"is_active\": false,\n        \"sort_order\": 1,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"غسيل\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Wash\",\n            \"description\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"{{category_id}}\",\n    \"type\": 1,\n    \"parent_id\": null,\n    \"default_duration_min\": 15,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"20.00\",\n    \"reference_price\": \"10.00\",\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"image\": null\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Catalog Choice Store",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "Catalog Choice Store",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": "01a17206-c07a-7056-9698-ff1502c6822e",
                                                        "parent_id": "01a17206-c0a3-7354-9b5d-714553dba234",
                                                        "type": 3,
                                                        "min_price": "10.00",
                                                        "max_price": "40.00",
                                                        "ar": {
                                                            "name": "غسيل"
                                                        },
                                                        "en": {
                                                            "name": "Wash"
                                                        },
                                                        "sort_order": 1,
                                                        "is_active": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n    \"parent_id\": \"01a17206-c0a3-7354-9b5d-714553dba234\",\n    \"type\": 3,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"40.00\",\n    \"ar\": {\n        \"name\": \"غسيل\"\n    },\n    \"en\": {\n        \"name\": \"Wash\"\n    },\n    \"sort_order\": 1,\n    \"is_active\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c0b6-71cc-af2e-24c5917f4866\",\n        \"name\": \"Wash\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": \"01a17206-c0a3-7354-9b5d-714553dba234\",\n        \"type\": {\n            \"value\": 3,\n            \"label\": \"Choice\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 0,\n        \"reference_price\": null,\n        \"min_price\": \"10.00\",\n        \"max_price\": \"40.00\",\n        \"is_active\": false,\n        \"sort_order\": 1,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"غسيل\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Wash\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Catalog Group Store",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "Catalog Group Store",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": "01a17206-c07a-7056-9698-ff1502c6822e",
                                                        "parent_id": "01a17206-c085-73a4-8fc5-de9fc2ac28b3",
                                                        "type": 2,
                                                        "children_selection": "single",
                                                        "children_required": true,
                                                        "ar": {
                                                            "name": "نوع الغسيل"
                                                        },
                                                        "en": {
                                                            "name": "Wash type"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n    \"parent_id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n    \"type\": 2,\n    \"children_selection\": \"single\",\n    \"children_required\": true,\n    \"ar\": {\n        \"name\": \"نوع الغسيل\"\n    },\n    \"en\": {\n        \"name\": \"Wash type\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c0a3-7354-9b5d-714553dba234\",\n        \"name\": \"Wash type\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n        \"type\": {\n            \"value\": 2,\n            \"label\": \"Option group\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 0,\n        \"reference_price\": null,\n        \"min_price\": \"0.00\",\n        \"max_price\": \"0.00\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"نوع الغسيل\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Wash type\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Catalog Service Store",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "Catalog Service Store",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": "01a17206-c07a-7056-9698-ff1502c6822e",
                                                        "type": 1,
                                                        "default_duration_min": 60,
                                                        "min_price": "50.00",
                                                        "max_price": "300.00",
                                                        "reference_price": "150.00",
                                                        "sort_order": 2,
                                                        "ar": {
                                                            "name": "قص الشعر",
                                                            "description": "قص وتصفيف"
                                                        },
                                                        "en": {
                                                            "name": "Haircut",
                                                            "description": "Cut and style"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n    \"type\": 1,\n    \"default_duration_min\": 60,\n    \"min_price\": \"50.00\",\n    \"max_price\": \"300.00\",\n    \"reference_price\": \"150.00\",\n    \"sort_order\": 2,\n    \"ar\": {\n        \"name\": \"قص الشعر\",\n        \"description\": \"قص وتصفيف\"\n    },\n    \"en\": {\n        \"name\": \"Haircut\",\n        \"description\": \"Cut and style\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n        \"name\": \"Haircut\",\n        \"description\": \"Cut and style\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"Service\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 60,\n        \"reference_price\": \"150.00\",\n        \"min_price\": \"50.00\",\n        \"max_price\": \"300.00\",\n        \"is_active\": true,\n        \"sort_order\": 2,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"قص الشعر\",\n            \"description\": \"قص وتصفيف\"\n        },\n        \"en\": {\n            \"name\": \"Haircut\",\n            \"description\": \"Cut and style\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Catalog Services With Image",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "Catalog Services With Image",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "صورة الكتالوج"
                                                        },
                                                        "image": "63f42a61a80698b77e4a0871e45df28f",
                                                        "type": 1,
                                                        "category_id": "01a17206-f23d-7084-9c5d-08f9843a11bf",
                                                        "default_duration_min": 30,
                                                        "min_price": "50.00",
                                                        "max_price": "100.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_uploaded_media_hash_attaches_replaces_and_clears"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"صورة الكتالوج\"\n    },\n    \"image\": \"63f42a61a80698b77e4a0871e45df28f\",\n    \"type\": 1,\n    \"category_id\": \"01a17206-f23d-7084-9c5d-08f9843a11bf\",\n    \"default_duration_min\": 30,\n    \"min_price\": \"50.00\",\n    \"max_price\": \"100.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-f248-70ec-8ac7-0704a2146858\",\n        \"name\": \"صورة الكتالوج\",\n        \"description\": null,\n        \"image\": \"http://localhost/storage/uploads/image/e9b0dd72-f2cd-485c-bac3-64712c65eee8.webp\",\n        \"category_id\": \"01a17206-f23d-7084-9c5d-08f9843a11bf\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"Service\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 30,\n        \"reference_price\": null,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"100.00\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:47:00\",\n        \"updated_at\": \"2026-10-25 07:47:00\",\n        \"ar\": {\n            \"name\": \"صورة الكتالوج\",\n            \"description\": null\n        },\n        \"en\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 V2 Free Choice",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "V2 Free Choice",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "Without hairstyle"
                                                        },
                                                        "en": {
                                                            "name": "Without hairstyle"
                                                        },
                                                        "category_id": "01a17208-1af7-7246-a767-2b013952564a",
                                                        "parent_id": "01a17208-1bab-7089-84a2-b37e84dd943f",
                                                        "type": 3,
                                                        "min_price": "0.00",
                                                        "max_price": "0.00",
                                                        "reference_price": "0.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceOptionGroupsTest::test_ac_admin_009_multiple_required_groups_and_provider_prices_match_the_screen"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"Without hairstyle\"\n    },\n    \"en\": {\n        \"name\": \"Without hairstyle\"\n    },\n    \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n    \"parent_id\": \"01a17208-1bab-7089-84a2-b37e84dd943f\",\n    \"type\": 3,\n    \"min_price\": \"0.00\",\n    \"max_price\": \"0.00\",\n    \"reference_price\": \"0.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-1bc8-73d3-b80a-a3481569c706\",\n        \"name\": \"Without hairstyle\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n        \"parent_id\": \"01a17208-1bab-7089-84a2-b37e84dd943f\",\n        \"type\": {\n            \"value\": 3,\n            \"label\": \"Choice\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 0,\n        \"reference_price\": \"0.00\",\n        \"min_price\": \"0.00\",\n        \"max_price\": \"0.00\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:48:16\",\n        \"updated_at\": \"2026-10-25 07:48:16\",\n        \"ar\": {\n            \"name\": \"Without hairstyle\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Without hairstyle\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 V2 Group Eyelashes",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "V2 Group Eyelashes",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "الرموش"
                                                        },
                                                        "en": {
                                                            "name": "Eyelashes"
                                                        },
                                                        "category_id": "01a17208-1af7-7246-a767-2b013952564a",
                                                        "parent_id": "01a17208-1b05-7234-a292-e9c80f3ac4ee",
                                                        "type": 2,
                                                        "children_required": true,
                                                        "children_selection": "single"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceOptionGroupsTest::test_ac_admin_009_multiple_required_groups_and_provider_prices_match_the_screen"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"الرموش\"\n    },\n    \"en\": {\n        \"name\": \"Eyelashes\"\n    },\n    \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n    \"parent_id\": \"01a17208-1b05-7234-a292-e9c80f3ac4ee\",\n    \"type\": 2,\n    \"children_required\": true,\n    \"children_selection\": \"single\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-1b21-73fd-ad66-0fcbe1bd33f7\",\n        \"name\": \"Eyelashes\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n        \"parent_id\": \"01a17208-1b05-7234-a292-e9c80f3ac4ee\",\n        \"type\": {\n            \"value\": 2,\n            \"label\": \"Option group\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 0,\n        \"reference_price\": null,\n        \"min_price\": \"0.00\",\n        \"max_price\": \"0.00\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:48:16\",\n        \"updated_at\": \"2026-10-25 07:48:16\",\n        \"ar\": {\n            \"name\": \"الرموش\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Eyelashes\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 V2 Group Hairstyle",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "V2 Group Hairstyle",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "تسريحة الشعر"
                                                        },
                                                        "en": {
                                                            "name": "Hairstyle"
                                                        },
                                                        "category_id": "01a17208-1af7-7246-a767-2b013952564a",
                                                        "parent_id": "01a17208-1b05-7234-a292-e9c80f3ac4ee",
                                                        "type": 2,
                                                        "children_required": true,
                                                        "children_selection": "single"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceOptionGroupsTest::test_ac_admin_009_multiple_required_groups_and_provider_prices_match_the_screen"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"تسريحة الشعر\"\n    },\n    \"en\": {\n        \"name\": \"Hairstyle\"\n    },\n    \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n    \"parent_id\": \"01a17208-1b05-7234-a292-e9c80f3ac4ee\",\n    \"type\": 2,\n    \"children_required\": true,\n    \"children_selection\": \"single\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-1bab-7089-84a2-b37e84dd943f\",\n        \"name\": \"Hairstyle\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n        \"parent_id\": \"01a17208-1b05-7234-a292-e9c80f3ac4ee\",\n        \"type\": {\n            \"value\": 2,\n            \"label\": \"Option group\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 0,\n        \"reference_price\": null,\n        \"min_price\": \"0.00\",\n        \"max_price\": \"0.00\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:48:16\",\n        \"updated_at\": \"2026-10-25 07:48:16\",\n        \"ar\": {\n            \"name\": \"تسريحة الشعر\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Hairstyle\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 V2 Paid Choice",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "V2 Paid Choice",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "Simple hairstyle"
                                                        },
                                                        "en": {
                                                            "name": "Simple hairstyle"
                                                        },
                                                        "category_id": "01a17208-1af7-7246-a767-2b013952564a",
                                                        "parent_id": "01a17208-1bab-7089-84a2-b37e84dd943f",
                                                        "type": 3,
                                                        "min_price": "100.00",
                                                        "max_price": "150.00",
                                                        "reference_price": "100.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceOptionGroupsTest::test_ac_admin_009_multiple_required_groups_and_provider_prices_match_the_screen"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"Simple hairstyle\"\n    },\n    \"en\": {\n        \"name\": \"Simple hairstyle\"\n    },\n    \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n    \"parent_id\": \"01a17208-1bab-7089-84a2-b37e84dd943f\",\n    \"type\": 3,\n    \"min_price\": \"100.00\",\n    \"max_price\": \"150.00\",\n    \"reference_price\": \"100.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-1be3-7380-9fd6-e5b169e15e5d\",\n        \"name\": \"Simple hairstyle\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17208-1af7-7246-a767-2b013952564a\",\n        \"parent_id\": \"01a17208-1bab-7089-84a2-b37e84dd943f\",\n        \"type\": {\n            \"value\": 3,\n            \"label\": \"Choice\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 0,\n        \"reference_price\": \"100.00\",\n        \"min_price\": \"100.00\",\n        \"max_price\": \"150.00\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:48:16\",\n        \"updated_at\": \"2026-10-25 07:48:16\",\n        \"ar\": {\n            \"name\": \"Simple hairstyle\",\n            \"description\": null\n        },\n        \"en\": {\n            \"name\": \"Simple hairstyle\",\n            \"description\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 V2 Simple Service",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "V2 Simple Service",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "قصة شعر هادئة",
                                                            "description": "قصة شعر هادئة"
                                                        },
                                                        "en": {
                                                            "name": "Simple cut",
                                                            "description": "Simple cut"
                                                        },
                                                        "category_id": "01a17208-196a-7255-95ca-804b82d29041",
                                                        "type": "1",
                                                        "children_required": false,
                                                        "default_duration_min": 15,
                                                        "is_active": true,
                                                        "sort_order": 1,
                                                        "min_price": 10,
                                                        "max_price": 20,
                                                        "reference_price": 10
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceOptionGroupsTest::test_ac_admin_009_bookable_service_is_created_directly_under_category"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"01a17208-196a-7255-95ca-804b82d29041\",\n    \"type\": \"1\",\n    \"children_required\": false,\n    \"default_duration_min\": 15,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"min_price\": 10,\n    \"max_price\": 20,\n    \"reference_price\": 10\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-197f-7157-82d0-32ab320ab8a5\",\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17208-196a-7255-95ca-804b82d29041\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"Service\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": false,\n        \"default_duration_min\": 15,\n        \"reference_price\": \"10.00\",\n        \"min_price\": \"10.00\",\n        \"max_price\": \"20.00\",\n        \"is_active\": true,\n        \"sort_order\": 1,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:48:15\",\n        \"updated_at\": \"2026-10-25 07:48:15\",\n        \"ar\": {\n            \"name\": \"قصة شعر هادئة\",\n            \"description\": \"قصة شعر هادئة\"\n        },\n        \"en\": {\n            \"name\": \"Simple cut\",\n            \"description\": \"Simple cut\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"{{category_id}}\",\n    \"type\": 1,\n    \"parent_id\": null,\n    \"default_duration_min\": 15,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"20.00\",\n    \"reference_price\": \"10.00\",\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"{{category_id}}\",\n    \"type\": 1,\n    \"parent_id\": null,\n    \"default_duration_min\": 15,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"20.00\",\n    \"reference_price\": \"10.00\",\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"{{category_id}}\",\n    \"type\": 1,\n    \"parent_id\": null,\n    \"default_duration_min\": 15,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"20.00\",\n    \"reference_price\": \"10.00\",\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Price Rule 23Fd99Bd",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "Catalog Price Rule 23Fd99Bd",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "خدمة"
                                                        },
                                                        "category_id": "01a17206-fd73-73fe-b8d4-e66042fd4d32",
                                                        "type": 1,
                                                        "default_duration_min": 30
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_010_price_error_names_the_specific_failure"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"خدمة\"\n    },\n    \"category_id\": \"01a17206-fd73-73fe-b8d4-e66042fd4d32\",\n    \"type\": 1,\n    \"default_duration_min\": 30\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Required prices are missing: min_price, max_price.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"74dc075c-de27-4db1-9e8d-84cd0f67b121\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Price Rule 275B2Daf",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "Catalog Price Rule 275B2Daf",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "خدمة"
                                                        },
                                                        "category_id": "01a17206-fb17-723d-96e9-7959b356912a",
                                                        "type": 1,
                                                        "default_duration_min": 30,
                                                        "min_price": "0.00",
                                                        "max_price": "20.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_010_price_error_names_the_specific_failure"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"خدمة\"\n    },\n    \"category_id\": \"01a17206-fb17-723d-96e9-7959b356912a\",\n    \"type\": 1,\n    \"default_duration_min\": 30,\n    \"min_price\": \"0.00\",\n    \"max_price\": \"20.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The minimum price must be greater than zero.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"d5e221b9-bc1c-4b00-b230-5cfe6a0d1c63\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Price Rule C2E7Cf4A",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "Catalog Price Rule C2E7Cf4A",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "خدمة"
                                                        },
                                                        "category_id": "01a17206-fc4c-712f-a0e4-7f7f734da28f",
                                                        "type": 1,
                                                        "default_duration_min": 30,
                                                        "min_price": "30.00",
                                                        "max_price": "20.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_010_price_error_names_the_specific_failure"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"خدمة\"\n    },\n    \"category_id\": \"01a17206-fc4c-712f-a0e4-7f7f734da28f\",\n    \"type\": 1,\n    \"default_duration_min\": 30,\n    \"min_price\": \"30.00\",\n    \"max_price\": \"20.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The maximum price must be greater than or equal to the minimum price.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"b218e1c0-fed4-4c2b-b526-937d4afd772a\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Price Rule Cb2B945A",
                                            "_joshen": {
                                                "route": "admin.services.store",
                                                "name": "Catalog Price Rule Cb2B945A",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "خدمة"
                                                        },
                                                        "category_id": "01a17206-fe94-7391-a066-848435083450",
                                                        "type": 1,
                                                        "default_duration_min": 30,
                                                        "min_price": "10.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_010_price_error_names_the_specific_failure"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"خدمة\"\n    },\n    \"category_id\": \"01a17206-fe94-7391-a066-848435083450\",\n    \"type\": 1,\n    \"default_duration_min\": 30,\n    \"min_price\": \"10.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Required prices are missing: max_price.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"9e402a22-e521-477d-a582-fb43a8f1a2b0\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "service_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"service_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/services/:service",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "services",
                                                ":service"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "service",
                                                    "value": "{{service_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.services.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `service_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Catalog Service Ar\n- `200` Catalog Service Show\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a17206-bcdc-71db-8410-0df182860bc7\",\n        \"name\": \"الوجه\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-bccc-7144-ae47-224d5cc37c82\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"خدمة قابلة للحجز\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"اختيار واحد\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 30,\n        \"reference_price\": null,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"100.00\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"الوجه\",\n            \"description\": null\n        },\n        \"en\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Service Ar",
                                            "_joshen": {
                                                "route": "admin.services.show",
                                                "name": "Catalog Service Ar",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/services/01a17206-bcdc-71db-8410-0df182860bc7",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_arabic_only_content_and_localized_enums"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/01a17206-bcdc-71db-8410-0df182860bc7",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        "01a17206-bcdc-71db-8410-0df182860bc7"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a17206-bcdc-71db-8410-0df182860bc7\",\n        \"name\": \"الوجه\",\n        \"description\": null,\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-bccc-7144-ae47-224d5cc37c82\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"خدمة قابلة للحجز\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"اختيار واحد\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 30,\n        \"reference_price\": null,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"100.00\",\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:46\",\n        \"updated_at\": \"2026-10-25 07:46:46\",\n        \"ar\": {\n            \"name\": \"الوجه\",\n            \"description\": null\n        },\n        \"en\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Catalog Service Show",
                                            "_joshen": {
                                                "route": "admin.services.show",
                                                "name": "Catalog Service Show",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services/01a17206-c085-73a4-8fc5-de9fc2ac28b3",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/01a17206-c085-73a4-8fc5-de9fc2ac28b3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        "01a17206-c085-73a4-8fc5-de9fc2ac28b3"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n        \"name\": \"Haircut\",\n        \"description\": \"Cut and style\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"Service\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 60,\n        \"reference_price\": \"150.00\",\n        \"min_price\": \"50.00\",\n        \"max_price\": \"300.00\",\n        \"is_active\": true,\n        \"sort_order\": 2,\n        \"children_count\": 0,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"قص الشعر\",\n            \"description\": \"قص وتصفيف\"\n        },\n        \"en\": {\n            \"name\": \"Haircut\",\n            \"description\": \"Cut and style\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "service_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"service_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/services/:service",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "services",
                                                ":service"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "service",
                                                    "value": "{{service_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.services.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic service translation object.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"قصة شعر هادئة\",\"description\":\"قصة شعر هادئة\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English service translation object.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Simple cut\",\"description\":\"Simple cut\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `ar.name`\n- **Description:** Arabic service name.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `قصة شعر هادئة`\n- **Validation rules:** `sometimes|string|max:150`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `en.name`\n- **Description:** English service name when the English object is supplied.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Simple cut`\n- **Validation rules:** `required_with:en|string|max:150`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `ar.description`\n- **Description:** Optional Arabic service description.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `قصة شعر هادئة`\n- **Validation rules:** `sometimes|nullable|string|max:16000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:16000` — must not exceed 16000.\n### `en.description`\n- **Description:** Optional English service description.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Simple cut`\n- **Validation rules:** `sometimes|nullable|string|max:16000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:16000` — must not exceed 16000.\n### `category_id`\n- **Description:** Category UUID that owns the service.\n- **Type:** `string (uuid)`\n- **Refers to:** a `categories` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{category_id}}`\n- **Validation rules:** `sometimes|uuid|exists:categories,uuid`\n- `sometimes` — validated only when the field is present.\n- `uuid` — must be a uuid.\n- `exists:categories,uuid` — must reference an existing record (categories, uuid).\n### `parent_id`\n- **Description:** Optional parent service UUID for a service tree node.\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|uuid|exists:services,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n### `type`\n- **Description:** Catalog node type: 1 bookable service, 2 option group, or 3 option.\n- **Type:** `integer`\n- **Allowed values:** `1`, `2`, `3`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|in:\"1\",\"2\",\"3\"`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `in:\"1\",\"2\",\"3\"` — must be one of: \"1\", \"2\", \"3\".\n### `children_selection`\n- **Description:** For option groups, whether one or multiple children may be selected.\n- **Type:** `string (enum)`\n- **Allowed values:** `single`, `multiple`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|in:\"single\",\"multiple\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"single\",\"multiple\"` — must be one of: \"single\", \"multiple\".\n### `children_required`\n- **Description:** Whether an option group requires a child selection.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `default_duration_min`\n- **Description:** Default service duration in minutes.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `15`\n- **Validation rules:** `sometimes|integer|between:0,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:0,2147483647` — must be between 0, 2147483647.\n### `is_active`\n- **Description:** Whether the catalog service is active.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Ordering value within the catalog tree.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `image`\n- **Description:** Optional uploaded image media hash.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `occasion_ids`\n- **Description:** Optional replacement list of occasion UUIDs for a type-1 bookable service; type-2/3 nodes cannot be tagged.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|array|list|max:20`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:20` — must not exceed 20.\n### `occasion_ids.*`\n- **Description:** UUID of an active finder occasion.\n- **Type:** `string (uuid)`\n- **Refers to:** a `occasions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|distinct|uuid|exists:occasions,uuid`\n- `sometimes` — validated only when the field is present.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:occasions,uuid` — must reference an existing record (occasions, uuid).\n### `min_price`\n- **Description:** Minimum provider price for a bookable service, as a decimal string.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `10.00`\n- **Validation rules:** `sometimes|sometimes|numeric|decimal:0,2|min:0|max:9999999999.99`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `max_price`\n- **Description:** Maximum provider price for a bookable service, as a decimal string.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `20.00`\n- **Validation rules:** `sometimes|sometimes|numeric|decimal:0,2|min:0|max:9999999999.99`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `reference_price`\n- **Description:** Optional suggested reference price, as a decimal string.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `10.00`\n- **Validation rules:** `sometimes|nullable|numeric|decimal:0,2|min:0|max:9999999999.99`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Saves `service_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Catalog Service Update\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Catalog Price Conflict — `error_code: PRICE_RANGE_CONFLICT`\n- `422` Catalog Invalid Range — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n        \"name\": \"Haircut\",\n        \"description\": \"Cut and style\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"Service\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 60,\n        \"reference_price\": \"150.00\",\n        \"min_price\": \"60.00\",\n        \"max_price\": \"300.00\",\n        \"is_active\": true,\n        \"sort_order\": 2,\n        \"children_count\": 1,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"قص حديث\",\n            \"description\": \"قص وتصفيف\"\n        },\n        \"en\": {\n            \"name\": \"Haircut\",\n            \"description\": \"Cut and style\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"{{category_id}}\",\n    \"type\": 1,\n    \"parent_id\": null,\n    \"default_duration_min\": 15,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"20.00\",\n    \"reference_price\": \"10.00\",\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"image\": null\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Service Update",
                                            "_joshen": {
                                                "route": "admin.services.update",
                                                "name": "Catalog Service Update",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services/01a17206-c085-73a4-8fc5-de9fc2ac28b3",
                                                    "query": null,
                                                    "body": {
                                                        "min_price": "60.00",
                                                        "ar": {
                                                            "name": "قص حديث"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/01a17206-c085-73a4-8fc5-de9fc2ac28b3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        "01a17206-c085-73a4-8fc5-de9fc2ac28b3"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"min_price\": \"60.00\",\n    \"ar\": {\n        \"name\": \"قص حديث\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17206-c085-73a4-8fc5-de9fc2ac28b3\",\n        \"name\": \"Haircut\",\n        \"description\": \"Cut and style\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category_id\": \"01a17206-c07a-7056-9698-ff1502c6822e\",\n        \"parent_id\": null,\n        \"type\": {\n            \"value\": 1,\n            \"label\": \"Service\"\n        },\n        \"children_selection\": {\n            \"value\": \"single\",\n            \"label\": \"Single\"\n        },\n        \"children_required\": true,\n        \"default_duration_min\": 60,\n        \"reference_price\": \"150.00\",\n        \"min_price\": \"60.00\",\n        \"max_price\": \"300.00\",\n        \"is_active\": true,\n        \"sort_order\": 2,\n        \"children_count\": 1,\n        \"provider_services_count\": 0,\n        \"created_at\": \"2026-10-25 07:46:47\",\n        \"updated_at\": \"2026-10-25 07:46:47\",\n        \"ar\": {\n            \"name\": \"قص حديث\",\n            \"description\": \"قص وتصفيف\"\n        },\n        \"en\": {\n            \"name\": \"Haircut\",\n            \"description\": \"Cut and style\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"{{category_id}}\",\n    \"type\": 1,\n    \"parent_id\": null,\n    \"default_duration_min\": 15,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"20.00\",\n    \"reference_price\": \"10.00\",\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"{{category_id}}\",\n    \"type\": 1,\n    \"parent_id\": null,\n    \"default_duration_min\": 15,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"20.00\",\n    \"reference_price\": \"10.00\",\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"قصة شعر هادئة\",\n        \"description\": \"قصة شعر هادئة\"\n    },\n    \"en\": {\n        \"name\": \"Simple cut\",\n        \"description\": \"Simple cut\"\n    },\n    \"category_id\": \"{{category_id}}\",\n    \"type\": 1,\n    \"parent_id\": null,\n    \"default_duration_min\": 15,\n    \"min_price\": \"10.00\",\n    \"max_price\": \"20.00\",\n    \"reference_price\": \"10.00\",\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Catalog Price Conflict",
                                            "_joshen": {
                                                "route": "admin.services.update",
                                                "name": "Catalog Price Conflict",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services/01a17206-da2b-72e7-aa57-5d936e12d6ef",
                                                    "query": null,
                                                    "body": {
                                                        "min_price": "200.00",
                                                        "max_price": "300.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_010_range_conflict_returns_409_count_and_preserves_prices"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/01a17206-da2b-72e7-aa57-5d936e12d6ef",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        "01a17206-da2b-72e7-aa57-5d936e12d6ef"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"min_price\": \"200.00\",\n    \"max_price\": \"300.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The new range excludes 2 existing provider prices. Keep a compatible range until providers reprice.\",\n    \"data\": {\n        \"error_code\": \"PRICE_RANGE_CONFLICT\",\n        \"correlation_id\": \"25d3f9d8-b5e0-4457-a39d-90920d3d6277\",\n        \"affected_count\": 2\n    }\n}"
                                        },
                                        {
                                            "name": "422 Catalog Invalid Range",
                                            "_joshen": {
                                                "route": "admin.services.update",
                                                "name": "Catalog Invalid Range",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services/01a17206-ef13-7136-a3cf-52d343a1bfc0",
                                                    "query": null,
                                                    "body": {
                                                        "max_price": "49.99"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_010_invalid_partial_range_returns_localized_422_and_preserves_state"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/01a17206-ef13-7136-a3cf-52d343a1bfc0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        "01a17206-ef13-7136-a3cf-52d343a1bfc0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"max_price\": \"49.99\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The maximum price must be greater than or equal to the minimum price.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"929f3e8b-ff13-4949-bf0a-89c1ad8d4d4f\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "service_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/services/:service",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "services",
                                                ":service"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "service",
                                                    "value": "{{service_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.services.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Catalog Service Delete\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Catalog In Use — `error_code: CATALOG_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Catalog Service Delete",
                                            "_joshen": {
                                                "route": "admin.services.destroy",
                                                "name": "Catalog Service Delete",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services/01a17206-c0b6-71cc-af2e-24c5917f4866",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_009_service_crud_full_tree_and_standard_list"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/01a17206-c0b6-71cc-af2e-24c5917f4866",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        "01a17206-c0b6-71cc-af2e-24c5917f4866"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Catalog In Use",
                                            "_joshen": {
                                                "route": "admin.services.destroy",
                                                "name": "Catalog In Use",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/services/01a17206-eae9-7052-a340-c28a59b016b6",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CatalogControllerTest::test_ac_admin_008_delete_referenced_record_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/services/01a17206-eae9-7052-a340-c28a59b016b6",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "services",
                                                        "01a17206-eae9-7052-a340-c28a59b016b6"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This catalog record is referenced. Deactivate it instead.\",\n    \"data\": {\n        \"error_code\": \"CATALOG_IN_USE\",\n        \"correlation_id\": \"174a1c47-9efb-4593-912c-aacf10bbad0a\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Joshan",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "config"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.config.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Finder Config Shown\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder settings\",\n    \"data\": {\n        \"enabled\": false,\n        \"name\": {\n            \"ar\": \"جوشن\"\n        },\n        \"description\": {\n            \"ar\": \"الباحث الموجّه\"\n        },\n        \"input_fields\": {\n            \"service_type\": true,\n            \"occasion\": true,\n            \"address\": true,\n            \"date\": true,\n            \"time\": true,\n            \"budget\": true\n        },\n        \"package_enabled\": true,\n        \"budget_brackets\": [\n            {\n                \"key\": \"up_to_300\",\n                \"ar\": \"حتى ٣٠٠\",\n                \"min\": \"0.00\",\n                \"max\": \"300.00\"\n            },\n            {\n                \"key\": \"300_to_600\",\n                \"ar\": \"٣٠٠–٦٠٠\",\n                \"min\": \"300.00\",\n                \"max\": \"600.00\"\n            },\n            {\n                \"key\": \"600_to_1200\",\n                \"ar\": \"٦٠٠–١٬٢٠٠\",\n                \"min\": \"600.00\",\n                \"max\": \"1200.00\"\n            },\n            {\n                \"key\": \"no_limit\",\n                \"ar\": \"بدون حد\",\n                \"min\": \"1200.00\",\n                \"max\": null\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Finder Config Shown",
                                            "_joshen": {
                                                "route": "admin.joshan.config.show",
                                                "name": "Finder Config Shown",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/config",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder settings\",\n    \"data\": {\n        \"enabled\": false,\n        \"name\": {\n            \"ar\": \"جوشن\"\n        },\n        \"description\": {\n            \"ar\": \"الباحث الموجّه\"\n        },\n        \"input_fields\": {\n            \"service_type\": true,\n            \"occasion\": true,\n            \"address\": true,\n            \"date\": true,\n            \"time\": true,\n            \"budget\": true\n        },\n        \"package_enabled\": true,\n        \"budget_brackets\": [\n            {\n                \"key\": \"up_to_300\",\n                \"ar\": \"حتى ٣٠٠\",\n                \"min\": \"0.00\",\n                \"max\": \"300.00\"\n            },\n            {\n                \"key\": \"300_to_600\",\n                \"ar\": \"٣٠٠–٦٠٠\",\n                \"min\": \"300.00\",\n                \"max\": \"600.00\"\n            },\n            {\n                \"key\": \"600_to_1200\",\n                \"ar\": \"٦٠٠–١٬٢٠٠\",\n                \"min\": \"600.00\",\n                \"max\": \"1200.00\"\n            },\n            {\n                \"key\": \"no_limit\",\n                \"ar\": \"بدون حد\",\n                \"min\": \"1200.00\",\n                \"max\": null\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "config"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.config.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `enabled`\n- **Description:** Whether the public finder is available to customers.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `package_enabled`\n- **Description:** Whether packages appear as a derived service type.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `name`\n- **Description:** Customer-facing translated finder name; Arabic is required (TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"ar\":\"Example Name\",\"en\":\"Example Name\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `name.ar`\n- **Description:** Required Arabic finder name.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Example Name`\n- **Validation rules:** `required_with:name|string|max:150`\n- `required_with:name` — required when name is present.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `name.en`\n- **Description:** Optional English finder name.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Example Name`\n- **Validation rules:** `sometimes|nullable|string|max:150`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `description`\n- **Description:** Customer-facing translated finder description; Arabic is required (TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"ar\":\"Example content text\",\"en\":\"Example content text\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `description.ar`\n- **Description:** Required Arabic finder description.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Example content text`\n- **Validation rules:** `required_with:description|string|max:1000`\n- `required_with:description` — required when description is present.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n### `description.en`\n- **Description:** Optional English finder description.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Example content text`\n- **Validation rules:** `sometimes|nullable|string|max:1000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n### `input_fields`\n- **Description:** Visibility switches for finder fields; address must stay enabled under BR-08.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"service_type\":true,\"occasion\":true,\"address\":true,\"date\":true,\"time\":true,\"budget\":true}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `input_fields.service_type`\n- **Description:** Whether the category/package selector is shown.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `input_fields.occasion`\n- **Description:** Whether the occasion selector is shown.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `input_fields.address`\n- **Description:** Address is mandatory and cannot be disabled (BR-08).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `input_fields.date`\n- **Description:** Whether the desired date field is shown.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `input_fields.time`\n- **Description:** Whether the optional desired time field is shown.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `input_fields.budget`\n- **Description:** Whether the budget bracket selector is shown.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `budget_brackets`\n- **Description:** Ordered, contiguous editable SAR brackets; first starts at 0.00 and last has no upper limit.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[{\"key\":\"value\",\"ar\":\"value\",\"en\":\"value\",\"min\":10,\"max\":10}]`\n- **Validation rules:** `sometimes|array|list|min:2|max:20`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `min:2` — must be at least 2.\n- `max:20` — must not exceed 20.\n### `budget_brackets.*`\n- **Description:** One bracket from SCR-11, with translated labels and exact decimal bounds.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"key\":\"value\",\"ar\":\"value\",\"en\":\"value\",\"min\":10,\"max\":10}`\n- **Validation rules:** `required|array|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `budget_brackets.*.key`\n- **Description:** Stable client key used in search requests.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|string|max:100`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `budget_brackets.*.ar`\n- **Description:** Required Arabic bracket label.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|string|max:100`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `budget_brackets.*.en`\n- **Description:** Optional English bracket label.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `sometimes|nullable|string|max:100`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `budget_brackets.*.min`\n- **Description:** Exact two-decimal SAR lower boundary; exclusive except the first bracket.\n- **Type:** `number`\n- **Required:** required\n- **Example:** `10`\n- **Validation rules:** `required|decimal:0,2|min:0|max:9999999999.99`\n- `required` — must be provided.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `budget_brackets.*.max`\n- **Description:** Exact two-decimal SAR upper boundary; null only for the final no-limit bracket.\n- **Type:** `number`\n- **Required:** required\n- **Example:** `10`\n- **Validation rules:** `present|nullable|decimal:0,2|min:0|max:9999999999.99`\n- `present` — must be present (may be empty).\n- `nullable` — may be null.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Finder Config Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Dedicated Settings Reject Non Contiguous Joshan Brackets — `error_code: JOSHEN_CONFIG_UNAVAILABLE`\n- `422` Finder Address Input Cannot Be Hidden — `error_code: JOSHEN_CONFIG_UNAVAILABLE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder settings updated\",\n    \"data\": {\n        \"enabled\": true,\n        \"name\": {\n            \"ar\": \"جوشن\"\n        },\n        \"description\": {\n            \"ar\": \"الباحث الموجّه\"\n        },\n        \"input_fields\": {\n            \"service_type\": true,\n            \"occasion\": true,\n            \"address\": true,\n            \"date\": false,\n            \"time\": true,\n            \"budget\": true\n        },\n        \"package_enabled\": true,\n        \"budget_brackets\": [\n            {\n                \"key\": \"up_to_300\",\n                \"ar\": \"حتى ٣٠٠\",\n                \"min\": \"0.00\",\n                \"max\": \"300.00\"\n            },\n            {\n                \"key\": \"300_to_600\",\n                \"ar\": \"٣٠٠–٦٠٠\",\n                \"min\": \"300.00\",\n                \"max\": \"600.00\"\n            },\n            {\n                \"key\": \"600_to_1200\",\n                \"ar\": \"٦٠٠–١٬٢٠٠\",\n                \"min\": \"600.00\",\n                \"max\": \"1200.00\"\n            },\n            {\n                \"key\": \"no_limit\",\n                \"ar\": \"بدون حد\",\n                \"min\": \"1200.00\",\n                \"max\": null\n            }\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"enabled\": true,\n    \"package_enabled\": true,\n    \"name\": {\n        \"ar\": \"Example Name\",\n        \"en\": \"Example Name\"\n    },\n    \"description\": {\n        \"ar\": \"Example content text\",\n        \"en\": \"Example content text\"\n    },\n    \"input_fields\": {\n        \"service_type\": true,\n        \"occasion\": true,\n        \"address\": true,\n        \"date\": true,\n        \"time\": true,\n        \"budget\": true\n    },\n    \"budget_brackets\": [\n        {\n            \"key\": \"value\",\n            \"ar\": \"value\",\n            \"en\": \"value\",\n            \"min\": 10,\n            \"max\": 10\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Finder Config Updated",
                                            "_joshen": {
                                                "route": "admin.joshan.config.update",
                                                "name": "Finder Config Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/config",
                                                    "query": null,
                                                    "body": {
                                                        "enabled": true,
                                                        "input_fields": {
                                                            "date": false
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"enabled\": true,\n    \"input_fields\": {\n        \"date\": false\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder settings updated\",\n    \"data\": {\n        \"enabled\": true,\n        \"name\": {\n            \"ar\": \"جوشن\"\n        },\n        \"description\": {\n            \"ar\": \"الباحث الموجّه\"\n        },\n        \"input_fields\": {\n            \"service_type\": true,\n            \"occasion\": true,\n            \"address\": true,\n            \"date\": false,\n            \"time\": true,\n            \"budget\": true\n        },\n        \"package_enabled\": true,\n        \"budget_brackets\": [\n            {\n                \"key\": \"up_to_300\",\n                \"ar\": \"حتى ٣٠٠\",\n                \"min\": \"0.00\",\n                \"max\": \"300.00\"\n            },\n            {\n                \"key\": \"300_to_600\",\n                \"ar\": \"٣٠٠–٦٠٠\",\n                \"min\": \"300.00\",\n                \"max\": \"600.00\"\n            },\n            {\n                \"key\": \"600_to_1200\",\n                \"ar\": \"٦٠٠–١٬٢٠٠\",\n                \"min\": \"600.00\",\n                \"max\": \"1200.00\"\n            },\n            {\n                \"key\": \"no_limit\",\n                \"ar\": \"بدون حد\",\n                \"min\": \"1200.00\",\n                \"max\": null\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"enabled\": true,\n    \"package_enabled\": true,\n    \"name\": {\n        \"ar\": \"Example Name\",\n        \"en\": \"Example Name\"\n    },\n    \"description\": {\n        \"ar\": \"Example content text\",\n        \"en\": \"Example content text\"\n    },\n    \"input_fields\": {\n        \"service_type\": true,\n        \"occasion\": true,\n        \"address\": true,\n        \"date\": true,\n        \"time\": true,\n        \"budget\": true\n    },\n    \"budget_brackets\": [\n        {\n            \"key\": \"value\",\n            \"ar\": \"value\",\n            \"en\": \"value\",\n            \"min\": 10,\n            \"max\": 10\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"enabled\": true,\n    \"package_enabled\": true,\n    \"name\": {\n        \"ar\": \"Example Name\",\n        \"en\": \"Example Name\"\n    },\n    \"description\": {\n        \"ar\": \"Example content text\",\n        \"en\": \"Example content text\"\n    },\n    \"input_fields\": {\n        \"service_type\": true,\n        \"occasion\": true,\n        \"address\": true,\n        \"date\": true,\n        \"time\": true,\n        \"budget\": true\n    },\n    \"budget_brackets\": [\n        {\n            \"key\": \"value\",\n            \"ar\": \"value\",\n            \"en\": \"value\",\n            \"min\": 10,\n            \"max\": 10\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"enabled\": true,\n    \"package_enabled\": true,\n    \"name\": {\n        \"ar\": \"Example Name\",\n        \"en\": \"Example Name\"\n    },\n    \"description\": {\n        \"ar\": \"Example content text\",\n        \"en\": \"Example content text\"\n    },\n    \"input_fields\": {\n        \"service_type\": true,\n        \"occasion\": true,\n        \"address\": true,\n        \"date\": true,\n        \"time\": true,\n        \"budget\": true\n    },\n    \"budget_brackets\": [\n        {\n            \"key\": \"value\",\n            \"ar\": \"value\",\n            \"en\": \"value\",\n            \"min\": 10,\n            \"max\": 10\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Dedicated Settings Reject Non Contiguous Joshan Brackets",
                                            "_joshen": {
                                                "route": "admin.joshan.config.update",
                                                "name": "Dedicated Settings Reject Non Contiguous Joshan Brackets",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/config",
                                                    "query": null,
                                                    "body": {
                                                        "budget_brackets": [
                                                            {
                                                                "key": "first",
                                                                "ar": "الأولى",
                                                                "min": "0.00",
                                                                "max": "300.00"
                                                            },
                                                            {
                                                                "key": "broken",
                                                                "ar": "الثانية",
                                                                "min": "301.00",
                                                                "max": null
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_dedicated_settings_route_rejects_non_contiguous_brackets"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"budget_brackets\": [\n        {\n            \"key\": \"first\",\n            \"ar\": \"الأولى\",\n            \"min\": \"0.00\",\n            \"max\": \"300.00\"\n        },\n        {\n            \"key\": \"broken\",\n            \"ar\": \"الثانية\",\n            \"min\": \"301.00\",\n            \"max\": null\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Joshen finder configuration is missing or invalid.\",\n    \"data\": {\n        \"error_code\": \"JOSHEN_CONFIG_UNAVAILABLE\",\n        \"correlation_id\": \"84f5fdc3-e038-4b01-8bb6-a94633951e8d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Finder Address Input Cannot Be Hidden",
                                            "_joshen": {
                                                "route": "admin.joshan.config.update",
                                                "name": "Finder Address Input Cannot Be Hidden",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/config",
                                                    "query": null,
                                                    "body": {
                                                        "input_fields": {
                                                            "address": false
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"input_fields\": {\n        \"address\": false\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Joshen finder configuration is missing or invalid.\",\n    \"data\": {\n        \"error_code\": \"JOSHEN_CONFIG_UNAVAILABLE\",\n        \"correlation_id\": \"d000bea1-00bd-478e-a21b-22095a14d0f2\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"occasion_id\",\"Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\"],[\"customer_id\",\"Saved by GET /api/v1/admin/payments/customers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/searches",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "searches"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[date_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest finder search date, YYYY-MM-DD. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[date_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[category_id]",
                                                    "value": "{{category_id}}",
                                                    "description": "Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[occasion_id]",
                                                    "value": "{{occasion_id}}",
                                                    "description": "Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[customer_id]",
                                                    "value": "{{customer_id}}",
                                                    "description": "Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[has_results]",
                                                    "value": "1",
                                                    "description": "True for searches with results_count above zero; false for zero-result searches. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[converted]",
                                                    "value": "1",
                                                    "description": "True when at least one order references the search; false otherwise. — `boolean`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.searches.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `filters[date_from]` — Earliest finder search date, YYYY-MM-DD. — `string (date)` (optional)\n- `filters[date_to]` — Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)` (optional)\n- `filters[category_id]` — Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19) (optional)\n- `filters[occasion_id]` — Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19) (optional)\n- `filters[customer_id]` — Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19) (optional)\n- `filters[has_results]` — True for searches with results_count above zero; false for zero-result searches. — `boolean` (optional)\n- `filters[converted]` — True when at least one order references the search; false otherwise. — `boolean` (optional)\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{occasion_id}}` — Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\n- Uses `{{customer_id}}` — Saved by GET /api/v1/admin/payments/customers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Finder Search Monitoring List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Finder Monitor Invalid Filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder searches\",\n    \"data\": {\n        \"searches\": [\n            {\n                \"id\": \"01a1ba25-c101-7059-aadb-40a6025e7ac2\",\n                \"customer_id\": null,\n                \"category_id\": null,\n                \"wants_package\": false,\n                \"occasion_id\": null,\n                \"district_id\": null,\n                \"desired_date\": null,\n                \"desired_time\": null,\n                \"budget_min\": null,\n                \"budget_max\": null,\n                \"results_count\": 0,\n                \"has_results\": false,\n                \"converted\": false,\n                \"orders_count\": 0,\n                \"created_at\": \"2026-11-08 07:53:18\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/joshan/searches?per_page=10&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/joshan/searches?per_page=10&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/joshan/searches?per_page=10&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/joshan/searches\",\n            \"per_page\": 10,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Finder Search Monitoring List",
                                            "_joshen": {
                                                "route": "admin.joshan.searches.index",
                                                "name": "Finder Search Monitoring List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/searches",
                                                    "query": {
                                                        "per_page": "10"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_search_list_and_summary_count_conversions_without_customer_pii"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches?per_page=10",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "10"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder searches\",\n    \"data\": {\n        \"searches\": [\n            {\n                \"id\": \"01a1ba25-c101-7059-aadb-40a6025e7ac2\",\n                \"customer_id\": null,\n                \"category_id\": null,\n                \"wants_package\": false,\n                \"occasion_id\": null,\n                \"district_id\": null,\n                \"desired_date\": null,\n                \"desired_time\": null,\n                \"budget_min\": null,\n                \"budget_max\": null,\n                \"results_count\": 0,\n                \"has_results\": false,\n                \"converted\": false,\n                \"orders_count\": 0,\n                \"created_at\": \"2026-11-08 07:53:18\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/joshan/searches?per_page=10&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/joshan/searches?per_page=10&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/joshan/searches?per_page=10&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/joshan/searches\",\n            \"per_page\": 10,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest finder search date, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[occasion_id]",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[has_results]",
                                                            "value": "1",
                                                            "description": "True for searches with results_count above zero; false for zero-result searches. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[converted]",
                                                            "value": "1",
                                                            "description": "True when at least one order references the search; false otherwise. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest finder search date, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[occasion_id]",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[has_results]",
                                                            "value": "1",
                                                            "description": "True for searches with results_count above zero; false for zero-result searches. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[converted]",
                                                            "value": "1",
                                                            "description": "True when at least one order references the search; false otherwise. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest finder search date, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[occasion_id]",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[has_results]",
                                                            "value": "1",
                                                            "description": "True for searches with results_count above zero; false for zero-result searches. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[converted]",
                                                            "value": "1",
                                                            "description": "True when at least one order references the search; false otherwise. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Finder Monitor Invalid Filter",
                                            "_joshen": {
                                                "route": "admin.joshan.searches.index",
                                                "name": "Finder Monitor Invalid Filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/searches",
                                                    "query": {
                                                        "filters": {
                                                            "date_from": "not-a-date"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches?filters[date_from]=not-a-date",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "not-a-date"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.date from field must match the format Y-m-d.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.date_from\": [\n                \"The filters.date from field must match the format Y-m-d.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "occasion_id",
                                                "set_by": [
                                                    "admin.joshan.occasions.index",
                                                    "admin.joshan.occasions.store",
                                                    "admin.joshan.occasions.show",
                                                    "admin.joshan.occasions.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                            },
                                            {
                                                "name": "customer_id",
                                                "set_by": [
                                                    "admin.payments.customers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments/customers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Summary",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"occasion_id\",\"Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\"],[\"customer_id\",\"Saved by GET /api/v1/admin/payments/customers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/searches/summary",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "searches",
                                                "summary"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[date_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest finder search date, YYYY-MM-DD. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[date_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[category_id]",
                                                    "value": "{{category_id}}",
                                                    "description": "Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[occasion_id]",
                                                    "value": "{{occasion_id}}",
                                                    "description": "Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[customer_id]",
                                                    "value": "{{customer_id}}",
                                                    "description": "Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[has_results]",
                                                    "value": "1",
                                                    "description": "True for searches with results_count above zero; false for zero-result searches. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[converted]",
                                                    "value": "1",
                                                    "description": "True when at least one order references the search; false otherwise. — `boolean`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.searches.summary`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `filters[date_from]` — Earliest finder search date, YYYY-MM-DD. — `string (date)` (optional)\n- `filters[date_to]` — Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)` (optional)\n- `filters[category_id]` — Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19) (optional)\n- `filters[occasion_id]` — Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19) (optional)\n- `filters[customer_id]` — Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19) (optional)\n- `filters[has_results]` — True for searches with results_count above zero; false for zero-result searches. — `boolean` (optional)\n- `filters[converted]` — True when at least one order references the search; false otherwise. — `boolean` (optional)\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{occasion_id}}` — Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\n- Uses `{{customer_id}}` — Saved by GET /api/v1/admin/payments/customers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Finder Search Monitoring Summary\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Finder Summary Invalid Filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder summary\",\n    \"data\": {\n        \"searches\": 1,\n        \"zero_result_searches\": 1,\n        \"converted_searches\": 0,\n        \"orders_created\": 0,\n        \"completed_orders\": 0\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Finder Search Monitoring Summary",
                                            "_joshen": {
                                                "route": "admin.joshan.searches.summary",
                                                "name": "Finder Search Monitoring Summary",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/searches/summary",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_search_list_and_summary_count_conversions_without_customer_pii"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches",
                                                        "summary"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder summary\",\n    \"data\": {\n        \"searches\": 1,\n        \"zero_result_searches\": 1,\n        \"converted_searches\": 0,\n        \"orders_created\": 0,\n        \"completed_orders\": 0\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest finder search date, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[occasion_id]",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[has_results]",
                                                            "value": "1",
                                                            "description": "True for searches with results_count above zero; false for zero-result searches. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[converted]",
                                                            "value": "1",
                                                            "description": "True when at least one order references the search; false otherwise. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest finder search date, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[occasion_id]",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[has_results]",
                                                            "value": "1",
                                                            "description": "True for searches with results_count above zero; false for zero-result searches. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[converted]",
                                                            "value": "1",
                                                            "description": "True when at least one order references the search; false otherwise. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest finder search date, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest finder search date, YYYY-MM-DD; not before date_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Category UUID selected in a service search (TD-19). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[occasion_id]",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Occasion UUID selected by the customer (TD-19). — `string (uuid)`, a `occasions` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile UUID; guests have no customer id and are not exposed by device id. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[has_results]",
                                                            "value": "1",
                                                            "description": "True for searches with results_count above zero; false for zero-result searches. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[converted]",
                                                            "value": "1",
                                                            "description": "True when at least one order references the search; false otherwise. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Finder Summary Invalid Filter",
                                            "_joshen": {
                                                "route": "admin.joshan.searches.summary",
                                                "name": "Finder Summary Invalid Filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/searches/summary",
                                                    "query": {
                                                        "filters": {
                                                            "date_to": "not-a-date"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/searches/summary?filters[date_to]=not-a-date",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "searches",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[date_to]",
                                                            "value": "not-a-date"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.date to field must match the format Y-m-d.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.date_to\": [\n                \"The filters.date to field must match the format Y-m-d.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "occasion_id",
                                                "set_by": [
                                                    "admin.joshan.occasions.index",
                                                    "admin.joshan.occasions.store",
                                                    "admin.joshan.occasions.show",
                                                    "admin.joshan.occasions.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                            },
                                            {
                                                "name": "customer_id",
                                                "set_by": [
                                                    "admin.payments.customers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments/customers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"occasion_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/occasions?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "occasions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.occasions.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `occasion_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Occasion List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"occasions\": [\n            {\n                \"id\": \"01a1ba25-c364-70fc-88b5-120f228ca0a4\",\n                \"name\": \"Wedding\",\n                \"is_active\": true,\n                \"sort_order\": 10,\n                \"created_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/joshan/occasions?per_page=10&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/joshan/occasions?per_page=10&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/joshan/occasions?per_page=10&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/joshan/occasions\",\n            \"per_page\": 10,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Occasion List",
                                            "_joshen": {
                                                "route": "admin.joshan.occasions.index",
                                                "name": "Occasion List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/occasions",
                                                    "query": {
                                                        "per_page": "10"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions?per_page=10",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "10"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"occasions\": [\n            {\n                \"id\": \"01a1ba25-c364-70fc-88b5-120f228ca0a4\",\n                \"name\": \"Wedding\",\n                \"is_active\": true,\n                \"sort_order\": 10,\n                \"created_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/joshan/occasions?per_page=10&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/joshan/occasions?per_page=10&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/joshan/occasions?per_page=10&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/joshan/occasions\",\n            \"per_page\": 10,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "occasion_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"occasion_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/occasions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "occasions"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.occasions.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Required Arabic occasion translation (TD-12).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"name\":\"Example Name\"}`\n- **Validation rules:** `required|array|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English translation (TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Example Name\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `sort_order`\n- **Description:** Display order among active occasions.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `10`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `is_active`\n- **Description:** Whether customers and providers may select this occasion.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `ar.name`\n- **Description:** Arabic name used in finder lists; unique within Arabic occasion names.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Example Name`\n- **Validation rules:** `required|string|max:100|unique:occasion_translations,name,NULL,occasion_id,locale,\"ar\"`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:occasion_translations,name,NULL,occasion_id,locale,\"ar\"` — must be unique (occasion_translations, name, NULL, occasion_id, locale, \"ar\").\n### `en.name`\n- **Description:** English occasion name, unique within English occasion names.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Example Name`\n- **Validation rules:** `required_with:en|string|max:100|unique:occasion_translations,name,NULL,occasion_id,locale,\"en\"`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:occasion_translations,name,NULL,occasion_id,locale,\"en\"` — must be unique (occasion_translations, name, NULL, occasion_id, locale, \"en\").\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `occasion_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Occasion Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Occasion Create Requires Arabic\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba25-c364-70fc-88b5-120f228ca0a4\",\n        \"name\": \"Wedding\",\n        \"is_active\": true,\n        \"sort_order\": 10,\n        \"created_at\": null,\n        \"ar\": {\n            \"name\": \"زفاف\"\n        },\n        \"en\": {\n            \"name\": \"Wedding\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"name\": \"Example Name\"\n    },\n    \"en\": {\n        \"name\": \"Example Name\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Occasion Created",
                                            "_joshen": {
                                                "route": "admin.joshan.occasions.store",
                                                "name": "Occasion Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/occasions",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "زفاف"
                                                        },
                                                        "en": {
                                                            "name": "Wedding"
                                                        },
                                                        "sort_order": 10,
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"زفاف\"\n    },\n    \"en\": {\n        \"name\": \"Wedding\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba25-c364-70fc-88b5-120f228ca0a4\",\n        \"name\": \"Wedding\",\n        \"is_active\": true,\n        \"sort_order\": 10,\n        \"created_at\": null,\n        \"ar\": {\n            \"name\": \"زفاف\"\n        },\n        \"en\": {\n            \"name\": \"Wedding\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"Example Name\"\n    },\n    \"en\": {\n        \"name\": \"Example Name\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"Example Name\"\n    },\n    \"en\": {\n        \"name\": \"Example Name\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"Example Name\"\n    },\n    \"en\": {\n        \"name\": \"Example Name\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Occasion Create Requires Arabic",
                                            "_joshen": {
                                                "route": "admin.joshan.occasions.store",
                                                "name": "Occasion Create Requires Arabic",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/occasions",
                                                    "query": null,
                                                    "body": {
                                                        "en": {
                                                            "name": "Missing Arabic"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"en\": {\n        \"name\": \"Missing Arabic\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Arabic data field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"ar\": [\n                \"The Arabic data field is required.\"\n            ],\n            \"ar.name\": [\n                \"The name (Arabic) field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "occasion_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"occasion_id\",\"Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"occasion_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "occasions",
                                                ":occasion"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "occasion",
                                                    "value": "{{occasion_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.occasions.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{occasion_id}}` — Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `occasion_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Occasion Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba25-c364-70fc-88b5-120f228ca0a4\",\n        \"name\": \"Wedding\",\n        \"is_active\": true,\n        \"sort_order\": 10,\n        \"created_at\": null,\n        \"ar\": {\n            \"name\": \"زفاف\"\n        },\n        \"en\": {\n            \"name\": \"Wedding\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Occasion Details",
                                            "_joshen": {
                                                "route": "admin.joshan.occasions.show",
                                                "name": "Occasion Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/occasions/01a1ba25-c364-70fc-88b5-120f228ca0a4",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/01a1ba25-c364-70fc-88b5-120f228ca0a4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        "01a1ba25-c364-70fc-88b5-120f228ca0a4"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba25-c364-70fc-88b5-120f228ca0a4\",\n        \"name\": \"Wedding\",\n        \"is_active\": true,\n        \"sort_order\": 10,\n        \"created_at\": null,\n        \"ar\": {\n            \"name\": \"زفاف\"\n        },\n        \"en\": {\n            \"name\": \"Wedding\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "occasion_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "occasion_id",
                                                "set_by": [
                                                    "admin.joshan.occasions.index",
                                                    "admin.joshan.occasions.store",
                                                    "admin.joshan.occasions.show",
                                                    "admin.joshan.occasions.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"occasion_id\",\"Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"occasion_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "occasions",
                                                ":occasion"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "occasion",
                                                    "value": "{{occasion_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.occasions.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Required Arabic occasion translation (TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Example Name\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** Optional English translation (TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Example Name\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `sort_order`\n- **Description:** Display order among active occasions.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `10`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `is_active`\n- **Description:** Whether customers and providers may select this occasion.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `ar.name`\n- **Description:** Arabic name used in finder lists; unique within Arabic occasion names.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Example Name`\n- **Validation rules:** `sometimes|string|max:100|unique:occasion_translations,name,NULL,occasion_id,locale,\"ar\"`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:occasion_translations,name,NULL,occasion_id,locale,\"ar\"` — must be unique (occasion_translations, name, NULL, occasion_id, locale, \"ar\").\n### `en.name`\n- **Description:** English occasion name, unique within English occasion names.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Example Name`\n- **Validation rules:** `required_with:en|string|max:100|unique:occasion_translations,name,NULL,occasion_id,locale,\"en\"`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:occasion_translations,name,NULL,occasion_id,locale,\"en\"` — must be unique (occasion_translations, name, NULL, occasion_id, locale, \"en\").\n\n**Variables:**\n- Uses `{{occasion_id}}` — Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `occasion_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Occasion Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Occasion Update Duplicate Name\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba25-c364-70fc-88b5-120f228ca0a4\",\n        \"name\": \"Wedding\",\n        \"is_active\": true,\n        \"sort_order\": 10,\n        \"created_at\": null,\n        \"ar\": {\n            \"name\": \"حفل زفاف\"\n        },\n        \"en\": {\n            \"name\": \"Wedding\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"name\": \"Example Name\"\n    },\n    \"en\": {\n        \"name\": \"Example Name\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Occasion Updated",
                                            "_joshen": {
                                                "route": "admin.joshan.occasions.update",
                                                "name": "Occasion Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/occasions/01a1ba25-c364-70fc-88b5-120f228ca0a4",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "حفل زفاف"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/01a1ba25-c364-70fc-88b5-120f228ca0a4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        "01a1ba25-c364-70fc-88b5-120f228ca0a4"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"حفل زفاف\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba25-c364-70fc-88b5-120f228ca0a4\",\n        \"name\": \"Wedding\",\n        \"is_active\": true,\n        \"sort_order\": 10,\n        \"created_at\": null,\n        \"ar\": {\n            \"name\": \"حفل زفاف\"\n        },\n        \"en\": {\n            \"name\": \"Wedding\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"Example Name\"\n    },\n    \"en\": {\n        \"name\": \"Example Name\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"Example Name\"\n    },\n    \"en\": {\n        \"name\": \"Example Name\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"Example Name\"\n    },\n    \"en\": {\n        \"name\": \"Example Name\"\n    },\n    \"sort_order\": 10,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Occasion Update Duplicate Name",
                                            "_joshen": {
                                                "route": "admin.joshan.occasions.update",
                                                "name": "Occasion Update Duplicate Name",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/occasions/01a1ba25-c364-70fc-88b5-120f228ca0a4",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "خطوبة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/01a1ba25-c364-70fc-88b5-120f228ca0a4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        "01a1ba25-c364-70fc-88b5-120f228ca0a4"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"خطوبة\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The name (Arabic) has already been taken.\",\n    \"data\": {\n        \"errors\": {\n            \"ar.name\": [\n                \"The name (Arabic) has already been taken.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "occasion_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "occasion_id",
                                                "set_by": [
                                                    "admin.joshan.occasions.index",
                                                    "admin.joshan.occasions.store",
                                                    "admin.joshan.occasions.show",
                                                    "admin.joshan.occasions.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"occasion_id\",\"Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "joshan",
                                                "occasions",
                                                ":occasion"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "occasion",
                                                    "value": "{{occasion_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.joshan.occasions.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{occasion_id}}` — Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Occasion Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Occasion Deleted",
                                            "_joshen": {
                                                "route": "admin.joshan.occasions.destroy",
                                                "name": "Occasion Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/joshan/occasions/01a1ba25-c364-70fc-88b5-120f228ca0a4",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\JoshenManagementTest::test_ac_admin_012_config_and_occasion_crud_capture_real_responses"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/01a1ba25-c364-70fc-88b5-120f228ca0a4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        "01a1ba25-c364-70fc-88b5-120f228ca0a4"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/joshan/occasions/:occasion",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "joshan",
                                                        "occasions",
                                                        ":occasion"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "occasion",
                                                            "value": "{{occasion_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "occasion_id",
                                                "set_by": [
                                                    "admin.joshan.occasions.index",
                                                    "admin.joshan.occasions.store",
                                                    "admin.joshan.occasions.show",
                                                    "admin.joshan.occasions.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Delivery fee rules",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"delivery_fee_rule_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "delivery-fee-rules"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.delivery-fee-rules.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `delivery_fee_rule_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Delivery Fee Rules Filtered By City\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"delivery_fee_rules\": [\n            {\n                \"id\": \"01a1c48f-a338-707a-b3a3-9560579535e0\",\n                \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n                \"city\": {\n                    \"id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n                    \"name\": \"Sample-fzdw27917680\"\n                },\n                \"base_fee\": \"10.00\",\n                \"per_km_fee\": \"2.50\",\n                \"min_fee\": \"12.00\",\n                \"max_fee\": \"40.00\",\n                \"avg_speed_kmh\": 35,\n                \"is_active\": true,\n                \"created_at\": \"2026-11-10T08:25:10+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/delivery-fee-rules?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/delivery-fee-rules?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/delivery-fee-rules?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/delivery-fee-rules\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Delivery Fee Rules Filtered By City",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.index",
                                                "name": "Delivery Fee Rules Filtered By City",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules",
                                                    "query": {
                                                        "filters": {
                                                            "city_id": "01a1c48f-a2e2-733d-bb6e-143af0b3e498"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_admin_manages_delivery_fee_rules_by_uuid"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules?filters[city_id]=01a1c48f-a2e2-733d-bb6e-143af0b3e498",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "01a1c48f-a2e2-733d-bb6e-143af0b3e498"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"delivery_fee_rules\": [\n            {\n                \"id\": \"01a1c48f-a338-707a-b3a3-9560579535e0\",\n                \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n                \"city\": {\n                    \"id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n                    \"name\": \"Sample-fzdw27917680\"\n                },\n                \"base_fee\": \"10.00\",\n                \"per_km_fee\": \"2.50\",\n                \"min_fee\": \"12.00\",\n                \"max_fee\": \"40.00\",\n                \"avg_speed_kmh\": 35,\n                \"is_active\": true,\n                \"created_at\": \"2026-11-10T08:25:10+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/delivery-fee-rules?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/delivery-fee-rules?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/delivery-fee-rules?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/delivery-fee-rules\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "delivery_fee_rule_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"delivery_fee_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "delivery-fee-rules"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.delivery-fee-rules.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `city_id`\n- **Description:** City (governorates = BRD city) the rule prices; null makes it the default rule used by every city without its own (BR-11). One active rule per city (TD-82).\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `nullable|uuid|exists:governorates,uuid`\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `base_fee`\n- **Description:** Fixed part of the delivery fee, SAR, 2 decimals. The fee is base_fee + per_km_fee × provider→customer km (BR-11).\n- **Type:** `number`\n- **Required:** required\n- **Example:** `10.00`\n- **Validation rules:** `required|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `per_km_fee`\n- **Description:** Fee added per kilometre of provider→customer distance, SAR, 2 decimals (never the driver location, BR-11).\n- **Type:** `number`\n- **Required:** required\n- **Example:** `2.50`\n- **Validation rules:** `required|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `min_fee`\n- **Description:** Floor: the fee never falls below this, SAR, 2 decimals.\n- **Type:** `number`\n- **Required:** required\n- **Example:** `12.00`\n- **Validation rules:** `required|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `max_fee`\n- **Description:** Cap: the fee never exceeds this, SAR, 2 decimals; null = no cap. Must be at least min_fee.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `40.00`\n- **Validation rules:** `nullable|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `avg_speed_kmh`\n- **Description:** Average road speed in this city, km/h (1–200), used for the customer's live ETA of a transport trip; empty falls back to the default rule's speed, then 30 (TD-183).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `35`\n- **Validation rules:** `nullable|numeric|between:1,200`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:1,200` — must be between 1, 200.\n### `is_active`\n- **Description:** Whether the rule is used to price orders; disable instead of deleting. Default true.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `delivery_fee_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Delivery Fee Rule City Created\n- `201` Delivery Fee Rule Default Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Delivery Fee Rule City Already Has Active Rule — `error_code: DELIVERY_FEE_RULE_CONFLICT`\n- `422` Delivery Fee Rule Cap Below Minimum — `error_code: VALIDATION_FAILED`\n- `422` Delivery Fee Rule Invalid Fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c48f-a338-707a-b3a3-9560579535e0\",\n        \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n        \"city\": {\n            \"id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n            \"name\": \"Sample-fzdw27917680\"\n        },\n        \"base_fee\": \"10.00\",\n        \"per_km_fee\": \"2.50\",\n        \"min_fee\": \"12.00\",\n        \"max_fee\": \"40.00\",\n        \"avg_speed_kmh\": 35,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T08:25:10+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"city_id\": null,\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35,\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Delivery Fee Rule City Created",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.store",
                                                "name": "Delivery Fee Rule City Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c48f-a2e2-733d-bb6e-143af0b3e498",
                                                        "base_fee": "10.00",
                                                        "per_km_fee": "2.50",
                                                        "min_fee": "12.00",
                                                        "max_fee": "40.00",
                                                        "avg_speed_kmh": 35
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_admin_manages_delivery_fee_rules_by_uuid"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c48f-a338-707a-b3a3-9560579535e0\",\n        \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n        \"city\": {\n            \"id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n            \"name\": \"Sample-fzdw27917680\"\n        },\n        \"base_fee\": \"10.00\",\n        \"per_km_fee\": \"2.50\",\n        \"min_fee\": \"12.00\",\n        \"max_fee\": \"40.00\",\n        \"avg_speed_kmh\": 35,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T08:25:10+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Delivery Fee Rule Default Created",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.store",
                                                "name": "Delivery Fee Rule Default Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules",
                                                    "query": null,
                                                    "body": {
                                                        "base_fee": "8.00",
                                                        "per_km_fee": "2",
                                                        "min_fee": "10.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_admin_manages_delivery_fee_rules_by_uuid"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"base_fee\": \"8.00\",\n    \"per_km_fee\": \"2\",\n    \"min_fee\": \"10.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c48f-a31b-700c-9b4d-40e7ceebcdd8\",\n        \"city_id\": null,\n        \"city\": null,\n        \"base_fee\": \"8.00\",\n        \"per_km_fee\": \"2.00\",\n        \"min_fee\": \"10.00\",\n        \"max_fee\": null,\n        \"avg_speed_kmh\": null,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T08:25:10+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": null,\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": null,\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": null,\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Delivery Fee Rule City Already Has Active Rule",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.store",
                                                "name": "Delivery Fee Rule City Already Has Active Rule",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c48f-a8b9-735c-baf5-9769e22bb48a",
                                                        "base_fee": "9.00",
                                                        "per_km_fee": "1.00",
                                                        "min_fee": "9.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_second_active_rule_for_a_city_is_a_conflict"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c48f-a8b9-735c-baf5-9769e22bb48a\",\n    \"base_fee\": \"9.00\",\n    \"per_km_fee\": \"1.00\",\n    \"min_fee\": \"9.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This city already has an active delivery fee rule. Disable it first or edit it.\",\n    \"data\": {\n        \"error_code\": \"DELIVERY_FEE_RULE_CONFLICT\",\n        \"correlation_id\": \"579c6eab-410a-44aa-a76c-a43b73bdd931\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Delivery Fee Rule Cap Below Minimum",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.store",
                                                "name": "Delivery Fee Rule Cap Below Minimum",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules",
                                                    "query": null,
                                                    "body": {
                                                        "base_fee": "10",
                                                        "per_km_fee": "2",
                                                        "min_fee": "20",
                                                        "max_fee": "15"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_fee_cap_below_the_floor_is_refused_also_on_partial_update"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"base_fee\": \"10\",\n    \"per_km_fee\": \"2\",\n    \"min_fee\": \"20\",\n    \"max_fee\": \"15\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The maximum fee must be greater than or equal to the minimum fee.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"b21b9d5d-7aab-4bce-8e48-5e3180d3aaca\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Delivery Fee Rule Invalid Fields",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.store",
                                                "name": "Delivery Fee Rule Invalid Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "not-a-uuid",
                                                        "base_fee": "-1",
                                                        "per_km_fee": "1.234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_fee_rule_shape_errors_are_per_field"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"not-a-uuid\",\n    \"base_fee\": \"-1\",\n    \"per_km_fee\": \"1.234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The City field must be a valid UUID. (and 3 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The City field must be a valid UUID.\"\n            ],\n            \"base_fee\": [\n                \"The Base fee field must be at least 0.\"\n            ],\n            \"per_km_fee\": [\n                \"The Fee per km field must have 0-2 decimal places.\"\n            ],\n            \"min_fee\": [\n                \"The Minimum fee field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "delivery_fee_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_fee_rule_id\",\"Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"delivery_fee_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "delivery-fee-rules",
                                                ":delivery_fee_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "delivery_fee_rule",
                                                    "value": "{{delivery_fee_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.delivery-fee-rules.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_fee_rule_id}}` — Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `delivery_fee_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Delivery Fee Rule Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c48f-a338-707a-b3a3-9560579535e0\",\n        \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n        \"city\": {\n            \"id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n            \"name\": \"Sample-fzdw27917680\"\n        },\n        \"base_fee\": \"10.00\",\n        \"per_km_fee\": \"2.50\",\n        \"min_fee\": \"12.00\",\n        \"max_fee\": \"40.00\",\n        \"avg_speed_kmh\": 35,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T08:25:10+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Delivery Fee Rule Details",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.show",
                                                "name": "Delivery Fee Rule Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules/01a1c48f-a338-707a-b3a3-9560579535e0",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_admin_manages_delivery_fee_rules_by_uuid"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/01a1c48f-a338-707a-b3a3-9560579535e0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        "01a1c48f-a338-707a-b3a3-9560579535e0"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c48f-a338-707a-b3a3-9560579535e0\",\n        \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n        \"city\": {\n            \"id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n            \"name\": \"Sample-fzdw27917680\"\n        },\n        \"base_fee\": \"10.00\",\n        \"per_km_fee\": \"2.50\",\n        \"min_fee\": \"12.00\",\n        \"max_fee\": \"40.00\",\n        \"avg_speed_kmh\": 35,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T08:25:10+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "delivery_fee_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_fee_rule_id",
                                                "set_by": [
                                                    "admin.delivery-fee-rules.index",
                                                    "admin.delivery-fee-rules.store",
                                                    "admin.delivery-fee-rules.show",
                                                    "admin.delivery-fee-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_fee_rule_id\",\"Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"delivery_fee_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "delivery-fee-rules",
                                                ":delivery_fee_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "delivery_fee_rule",
                                                    "value": "{{delivery_fee_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.delivery-fee-rules.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `city_id`\n- **Description:** City (governorates = BRD city) the rule prices; null makes it the default rule used by every city without its own (BR-11). One active rule per city (TD-82).\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `nullable|uuid|exists:governorates,uuid`\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `base_fee`\n- **Description:** Fixed part of the delivery fee, SAR, 2 decimals. The fee is base_fee + per_km_fee × provider→customer km (BR-11).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `10.00`\n- **Validation rules:** `sometimes|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `per_km_fee`\n- **Description:** Fee added per kilometre of provider→customer distance, SAR, 2 decimals (never the driver location, BR-11).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `2.50`\n- **Validation rules:** `sometimes|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `min_fee`\n- **Description:** Floor: the fee never falls below this, SAR, 2 decimals.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `12.00`\n- **Validation rules:** `sometimes|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `max_fee`\n- **Description:** Cap: the fee never exceeds this, SAR, 2 decimals; null = no cap. Must be at least min_fee.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `40.00`\n- **Validation rules:** `nullable|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `avg_speed_kmh`\n- **Description:** Average road speed in this city, km/h (1–200), used for the customer's live ETA of a transport trip; empty falls back to the default rule's speed, then 30 (TD-183).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `35`\n- **Validation rules:** `nullable|numeric|between:1,200`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:1,200` — must be between 1, 200.\n### `is_active`\n- **Description:** Whether the rule is used to price orders; disable instead of deleting. Default true.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{delivery_fee_rule_id}}` — Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `delivery_fee_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Delivery Fee Rule Disabled\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Delivery Fee Rule Update Cap Below Stored Minimum — `error_code: VALIDATION_FAILED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c48f-a338-707a-b3a3-9560579535e0\",\n        \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n        \"city\": {\n            \"id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n            \"name\": \"Sample-fzdw27917680\"\n        },\n        \"base_fee\": \"10.00\",\n        \"per_km_fee\": \"2.50\",\n        \"min_fee\": \"12.00\",\n        \"max_fee\": \"55.00\",\n        \"avg_speed_kmh\": 35,\n        \"is_active\": false,\n        \"created_at\": \"2026-11-10T08:25:10+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"city_id\": null,\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35,\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Delivery Fee Rule Disabled",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.update",
                                                "name": "Delivery Fee Rule Disabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules/01a1c48f-a338-707a-b3a3-9560579535e0",
                                                    "query": null,
                                                    "body": {
                                                        "max_fee": "55.00",
                                                        "is_active": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_admin_manages_delivery_fee_rules_by_uuid"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/01a1c48f-a338-707a-b3a3-9560579535e0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        "01a1c48f-a338-707a-b3a3-9560579535e0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"max_fee\": \"55.00\",\n    \"is_active\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c48f-a338-707a-b3a3-9560579535e0\",\n        \"city_id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n        \"city\": {\n            \"id\": \"01a1c48f-a2e2-733d-bb6e-143af0b3e498\",\n            \"name\": \"Sample-fzdw27917680\"\n        },\n        \"base_fee\": \"10.00\",\n        \"per_km_fee\": \"2.50\",\n        \"min_fee\": \"12.00\",\n        \"max_fee\": \"55.00\",\n        \"avg_speed_kmh\": 35,\n        \"is_active\": false,\n        \"created_at\": \"2026-11-10T08:25:10+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": null,\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": null,\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": null,\n    \"base_fee\": \"10.00\",\n    \"per_km_fee\": \"2.50\",\n    \"min_fee\": \"12.00\",\n    \"max_fee\": \"40.00\",\n    \"avg_speed_kmh\": 35,\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Delivery Fee Rule Update Cap Below Stored Minimum",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.update",
                                                "name": "Delivery Fee Rule Update Cap Below Stored Minimum",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules/01a1c48f-ad7f-737e-b9d7-19f30c4c89ea",
                                                    "query": null,
                                                    "body": {
                                                        "max_fee": "5.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_fee_cap_below_the_floor_is_refused_also_on_partial_update"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/01a1c48f-ad7f-737e-b9d7-19f30c4c89ea",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        "01a1c48f-ad7f-737e-b9d7-19f30c4c89ea"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"max_fee\": \"5.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The maximum fee must be greater than or equal to the minimum fee.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"2eba4d07-1c3d-476a-bce6-a10185819eb1\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "delivery_fee_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_fee_rule_id",
                                                "set_by": [
                                                    "admin.delivery-fee-rules.index",
                                                    "admin.delivery-fee-rules.store",
                                                    "admin.delivery-fee-rules.show",
                                                    "admin.delivery-fee-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_fee_rule_id\",\"Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "delivery-fee-rules",
                                                ":delivery_fee_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "delivery_fee_rule",
                                                    "value": "{{delivery_fee_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.delivery-fee-rules.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_fee_rule_id}}` — Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Delivery Fee Rule Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Delivery Fee Rule Deleted",
                                            "_joshen": {
                                                "route": "admin.delivery-fee-rules.destroy",
                                                "name": "Delivery Fee Rule Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/delivery-fee-rules/01a1c48f-a338-707a-b3a3-9560579535e0",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_admin_manages_delivery_fee_rules_by_uuid"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/01a1c48f-a338-707a-b3a3-9560579535e0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        "01a1c48f-a338-707a-b3a3-9560579535e0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/delivery-fee-rules/:delivery_fee_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "delivery-fee-rules",
                                                        ":delivery_fee_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "delivery_fee_rule",
                                                            "value": "{{delivery_fee_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_fee_rule_id",
                                                "set_by": [
                                                    "admin.delivery-fee-rules.index",
                                                    "admin.delivery-fee-rules.store",
                                                    "admin.delivery-fee-rules.show",
                                                    "admin.delivery-fee-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/delivery-fee-rules, POST /api/v1/admin/delivery-fee-rules, GET /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}, PUT /api/v1/admin/delivery-fee-rules/{delivery_fee_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Coupons",
                            "item": [
                                {
                                    "name": "Redemptions",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"coupon_id\",\"Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/coupons/:coupon/redemptions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "coupons",
                                                ":coupon",
                                                "redemptions"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "coupon",
                                                    "value": "{{coupon_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Redemptions per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.coupons.redemptions`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Redemptions per page, 1 to 100 (default 15). — `integer` (optional)\n\n**Variables:**\n- Uses `{{coupon_id}}` — Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Coupon Redemptions Page\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Coupon Redemptions Per Page Too Large\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"coupon_redemptions\": [\n            {\n                \"id\": \"01a1c637-0afd-718c-bbdd-95f7b57c40fc\",\n                \"order_id\": \"01a1c637-0afd-718c-bbdd-95f7b636edac\",\n                \"order_code\": \"JSH-zjub99830505\",\n                \"customer_id\": \"01a1c637-0b07-738e-a73a-5f78a5d2d15e\",\n                \"customer_name\": \"Rylee Moore\",\n                \"discount_amount\": \"100.00\",\n                \"created_at\": \"2026-11-10T16:07:38+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=2\",\n            \"prev\": null,\n            \"next\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=2\"\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 2,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=2\",\n                    \"label\": \"2\",\n                    \"page\": 2,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=2\",\n                    \"label\": \"Next &raquo;\",\n                    \"page\": 2,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions\",\n            \"per_page\": 1,\n            \"to\": 1,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Coupon Redemptions Page",
                                            "_joshen": {
                                                "route": "admin.coupons.redemptions",
                                                "name": "Coupon Redemptions Page",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions",
                                                    "query": {
                                                        "per_page": 1
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_016_redemptions_are_paginated_in_the_standard_shape"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?per_page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        "01a1c637-0aee-72b8-bcc1-8cfd68f538eb",
                                                        "redemptions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"coupon_redemptions\": [\n            {\n                \"id\": \"01a1c637-0afd-718c-bbdd-95f7b57c40fc\",\n                \"order_id\": \"01a1c637-0afd-718c-bbdd-95f7b636edac\",\n                \"order_code\": \"JSH-zjub99830505\",\n                \"customer_id\": \"01a1c637-0b07-738e-a73a-5f78a5d2d15e\",\n                \"customer_name\": \"Rylee Moore\",\n                \"discount_amount\": \"100.00\",\n                \"created_at\": \"2026-11-10T16:07:38+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=2\",\n            \"prev\": null,\n            \"next\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=2\"\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 2,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=2\",\n                    \"label\": \"2\",\n                    \"page\": 2,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?page=2\",\n                    \"label\": \"Next &raquo;\",\n                    \"page\": 2,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions\",\n            \"per_page\": 1,\n            \"to\": 1,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon/redemptions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon",
                                                        "redemptions"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Redemptions per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon/redemptions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon",
                                                        "redemptions"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Redemptions per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon/redemptions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon",
                                                        "redemptions"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Redemptions per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon Redemptions Per Page Too Large",
                                            "_joshen": {
                                                "route": "admin.coupons.redemptions",
                                                "name": "Coupon Redemptions Per Page Too Large",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions",
                                                    "query": {
                                                        "per_page": 500
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_016_redemptions_are_paginated_in_the_standard_shape"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/01a1c637-0aee-72b8-bcc1-8cfd68f538eb/redemptions?per_page=500",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        "01a1c637-0aee-72b8-bcc1-8cfd68f538eb",
                                                        "redemptions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "500"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be between 1 and 100.\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "coupon_id",
                                                "set_by": [
                                                    "admin.coupons.index",
                                                    "admin.coupons.store",
                                                    "admin.coupons.show",
                                                    "admin.coupons.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"coupon_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/coupons?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "coupons"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.coupons.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `coupon_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Coupon List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"coupons\": [\n            {\n                \"id\": \"01a1c637-0462-721a-b4f9-25aea0d2bd28\",\n                \"code\": \"OTHERONE\",\n                \"description\": null,\n                \"discount_type\": {\n                    \"value\": \"fixed\",\n                    \"label\": \"Fixed amount\"\n                },\n                \"discount_value\": \"10.00\",\n                \"max_discount\": null,\n                \"min_order_amount\": \"0.00\",\n                \"applies_to\": {\n                    \"value\": \"all\",\n                    \"label\": \"All services\"\n                },\n                \"applies_to_id\": null,\n                \"funded_by\": {\n                    \"value\": \"platform\",\n                    \"label\": \"Joshen\"\n                },\n                \"usage_limit\": null,\n                \"per_customer_limit\": 1,\n                \"used_count\": 0,\n                \"starts_at\": null,\n                \"ends_at\": null,\n                \"is_active\": false,\n                \"created_at\": \"2026-11-10T16:07:36+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-0461-73ba-9124-ba604505c0ca\",\n                \"code\": \"USEDCODE\",\n                \"description\": null,\n                \"discount_type\": {\n                    \"value\": \"fixed\",\n                    \"label\": \"Fixed amount\"\n                },\n                \"discount_value\": \"10.00\",\n                \"max_discount\": null,\n                \"min_order_amount\": \"0.00\",\n                \"applies_to\": {\n                    \"value\": \"all\",\n                    \"label\": \"All services\"\n                },\n                \"applies_to_id\": null,\n                \"funded_by\": {\n                    \"value\": \"platform\",\n                    \"label\": \"Joshen\"\n                },\n                \"usage_limit\": null,\n                \"per_customer_limit\": 1,\n                \"used_count\": 1,\n                \"starts_at\": null,\n                \"ends_at\": null,\n                \"is_active\": true,\n                \"created_at\": \"2026-11-10T16:07:36+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/coupons?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/coupons?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/coupons?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/coupons\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Coupon List",
                                            "_joshen": {
                                                "route": "admin.coupons.index",
                                                "name": "Coupon List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_list_reports_used_count_and_supports_search_and_filters"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"coupons\": [\n            {\n                \"id\": \"01a1c637-0462-721a-b4f9-25aea0d2bd28\",\n                \"code\": \"OTHERONE\",\n                \"description\": null,\n                \"discount_type\": {\n                    \"value\": \"fixed\",\n                    \"label\": \"Fixed amount\"\n                },\n                \"discount_value\": \"10.00\",\n                \"max_discount\": null,\n                \"min_order_amount\": \"0.00\",\n                \"applies_to\": {\n                    \"value\": \"all\",\n                    \"label\": \"All services\"\n                },\n                \"applies_to_id\": null,\n                \"funded_by\": {\n                    \"value\": \"platform\",\n                    \"label\": \"Joshen\"\n                },\n                \"usage_limit\": null,\n                \"per_customer_limit\": 1,\n                \"used_count\": 0,\n                \"starts_at\": null,\n                \"ends_at\": null,\n                \"is_active\": false,\n                \"created_at\": \"2026-11-10T16:07:36+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-0461-73ba-9124-ba604505c0ca\",\n                \"code\": \"USEDCODE\",\n                \"description\": null,\n                \"discount_type\": {\n                    \"value\": \"fixed\",\n                    \"label\": \"Fixed amount\"\n                },\n                \"discount_value\": \"10.00\",\n                \"max_discount\": null,\n                \"min_order_amount\": \"0.00\",\n                \"applies_to\": {\n                    \"value\": \"all\",\n                    \"label\": \"All services\"\n                },\n                \"applies_to_id\": null,\n                \"funded_by\": {\n                    \"value\": \"platform\",\n                    \"label\": \"Joshen\"\n                },\n                \"usage_limit\": null,\n                \"per_customer_limit\": 1,\n                \"used_count\": 1,\n                \"starts_at\": null,\n                \"ends_at\": null,\n                \"is_active\": true,\n                \"created_at\": \"2026-11-10T16:07:36+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/coupons?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/coupons?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/coupons?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/coupons\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "coupon_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"coupon_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/coupons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "coupons"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.coupons.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `code`\n- **Description:** Code the customer types; letters, digits, dash and underscore, unique and case-insensitive. Stored upper-case.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `WELCOME10`\n- **Validation rules:** `required|string|max:40|regex:/^[A-Za-z0-9_-]+$/|unique:coupons,code,NULL,id`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:40` — must not exceed 40.\n- `regex:/^[A-Za-z0-9_-]+$/` — must match the pattern shown.\n- `unique:coupons,code,NULL,id` — must be unique (coupons, code, NULL, id).\n### `description`\n- **Description:** Internal note for admins.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Launch campaign`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `discount_type`\n- **Description:** percent (of the services amount, rounded half-up to 2 decimals) or fixed (SAR).\n- **Type:** `string (enum)`\n- **Allowed values:** `percent`, `fixed`\n- **Required:** required\n- **Example:** `percent`\n- **Validation rules:** `required|in:\"percent\",\"fixed\"`\n- `required` — must be provided.\n- `in:\"percent\",\"fixed\"` — must be one of: \"percent\", \"fixed\".\n### `discount_value`\n- **Description:** Percent (1–100) or SAR amount, 2 decimals, above zero. Joshen funds the discount (TD-131).\n- **Type:** `number`\n- **Required:** required\n- **Example:** `10.00`\n- **Validation rules:** `required|numeric|min:0|max:9999999999.99|decimal:0,2|gt:0`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `gt:0` — custom validation rule.\n### `max_discount`\n- **Description:** Cap on one order's discount, SAR; null = no cap.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `50.00`\n- **Validation rules:** `nullable|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `min_order_amount`\n- **Description:** Smallest services amount (before delivery) the coupon accepts, SAR. Default 0.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `100.00`\n- **Validation rules:** `sometimes|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `applies_to`\n- **Description:** Scope: all, category, service or provider. Packages are not covered (TD-148). Default all.\n- **Type:** `string (enum)`\n- **Allowed values:** `all`, `category`, `service`, `provider`\n- **Required:** optional\n- **Example:** `all`\n- **Validation rules:** `sometimes|in:\"all\",\"category\",\"service\",\"provider\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"all\",\"category\",\"service\",\"provider\"` — must be one of: \"all\", \"category\", \"service\", \"provider\".\n### `applies_to_id`\n- **Description:** Public uuid of the category, bookable service or provider named by applies_to; ignored for all.\n- **Type:** `string (uuid)`\n- **Required:** conditional\n- **Example:** `null`\n- **Validation rules:** `nullable|uuid|required_if:applies_to,category,service,provider`\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `required_if:applies_to,category,service,provider` — required when applies_to, category, service, provider.\n### `usage_limit`\n- **Description:** Total uses across all customers; null = unlimited. A use counts from order creation and is given back if the order is rejected, expires or is cancelled.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `100`\n- **Validation rules:** `nullable|integer|min:1`\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `min:1` — must be at least 1.\n### `per_customer_limit`\n- **Description:** Uses one customer may have (at least 1, required by the schema). Default 1.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|min:1`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `min:1` — must be at least 1.\n### `starts_at`\n- **Description:** ISO 8601 start; null = already started.\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-11-01T00:00:00+03:00`\n- **Validation rules:** `nullable|date`\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `ends_at`\n- **Description:** ISO 8601 end; null = no end.\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-12-01T00:00:00+03:00`\n- **Validation rules:** `nullable|date`\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `is_active`\n- **Description:** Switch off to stop new uses; used coupons are deactivated, never deleted. Default true.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `coupon_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Coupon Created For Provider\n- `201` Coupon Created With Defaults\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Coupon Duplicate Code\n- `422` Coupon Ends Before Start\n- `422` Coupon Per Customer Limit Null\n- `422` Coupon Percent Above Hundred\n- `422` Coupon Scope Target Not A Uuid\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-fbfb-71e7-b4e4-a0bc8d9c58b0\",\n        \"code\": \"SCOPE2\",\n        \"description\": null,\n        \"discount_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"discount_value\": \"10.00\",\n        \"max_discount\": null,\n        \"min_order_amount\": \"0.00\",\n        \"applies_to\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"applies_to_id\": \"01a1c636-fbdb-715a-bc73-1418a54d6211\",\n        \"funded_by\": {\n            \"value\": \"platform\",\n            \"label\": \"Joshen\"\n        },\n        \"usage_limit\": null,\n        \"per_customer_limit\": 1,\n        \"used_count\": 0,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T16:07:34+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"code\": \"WELCOME10\",\n    \"description\": \"Launch campaign\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"max_discount\": \"50.00\",\n    \"min_order_amount\": \"100.00\",\n    \"applies_to\": \"all\",\n    \"applies_to_id\": null,\n    \"usage_limit\": 100,\n    \"per_customer_limit\": 1,\n    \"starts_at\": \"2026-11-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Coupon Created For Provider",
                                            "_joshen": {
                                                "route": "admin.coupons.store",
                                                "name": "Coupon Created For Provider",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons",
                                                    "query": null,
                                                    "body": {
                                                        "code": "SCOPE2",
                                                        "discount_type": "percent",
                                                        "discount_value": "10.00",
                                                        "applies_to": "provider",
                                                        "applies_to_id": "01a1c636-fbdb-715a-bc73-1418a54d6211"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_scope_target_is_a_uuid_for_category_service_and_provider"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"SCOPE2\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"applies_to\": \"provider\",\n    \"applies_to_id\": \"01a1c636-fbdb-715a-bc73-1418a54d6211\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-fbfb-71e7-b4e4-a0bc8d9c58b0\",\n        \"code\": \"SCOPE2\",\n        \"description\": null,\n        \"discount_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"discount_value\": \"10.00\",\n        \"max_discount\": null,\n        \"min_order_amount\": \"0.00\",\n        \"applies_to\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"applies_to_id\": \"01a1c636-fbdb-715a-bc73-1418a54d6211\",\n        \"funded_by\": {\n            \"value\": \"platform\",\n            \"label\": \"Joshen\"\n        },\n        \"usage_limit\": null,\n        \"per_customer_limit\": 1,\n        \"used_count\": 0,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T16:07:34+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Coupon Created With Defaults",
                                            "_joshen": {
                                                "route": "admin.coupons.store",
                                                "name": "Coupon Created With Defaults",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons",
                                                    "query": null,
                                                    "body": {
                                                        "code": "welcome10",
                                                        "discount_type": "percent",
                                                        "discount_value": "10.00",
                                                        "funded_by": "provider"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_store_applies_defaults_and_forces_platform_funding"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"welcome10\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"funded_by\": \"provider\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-ecd5-71ee-a196-9c67b9b6213f\",\n        \"code\": \"WELCOME10\",\n        \"description\": null,\n        \"discount_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"discount_value\": \"10.00\",\n        \"max_discount\": null,\n        \"min_order_amount\": \"0.00\",\n        \"applies_to\": {\n            \"value\": \"all\",\n            \"label\": \"All services\"\n        },\n        \"applies_to_id\": null,\n        \"funded_by\": {\n            \"value\": \"platform\",\n            \"label\": \"Joshen\"\n        },\n        \"usage_limit\": null,\n        \"per_customer_limit\": 1,\n        \"used_count\": 0,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T16:07:30+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"WELCOME10\",\n    \"description\": \"Launch campaign\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"max_discount\": \"50.00\",\n    \"min_order_amount\": \"100.00\",\n    \"applies_to\": \"all\",\n    \"applies_to_id\": null,\n    \"usage_limit\": 100,\n    \"per_customer_limit\": 1,\n    \"starts_at\": \"2026-11-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"WELCOME10\",\n    \"description\": \"Launch campaign\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"max_discount\": \"50.00\",\n    \"min_order_amount\": \"100.00\",\n    \"applies_to\": \"all\",\n    \"applies_to_id\": null,\n    \"usage_limit\": 100,\n    \"per_customer_limit\": 1,\n    \"starts_at\": \"2026-11-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"WELCOME10\",\n    \"description\": \"Launch campaign\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"max_discount\": \"50.00\",\n    \"min_order_amount\": \"100.00\",\n    \"applies_to\": \"all\",\n    \"applies_to_id\": null,\n    \"usage_limit\": 100,\n    \"per_customer_limit\": 1,\n    \"starts_at\": \"2026-11-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon Duplicate Code",
                                            "_joshen": {
                                                "route": "admin.coupons.store",
                                                "name": "Coupon Duplicate Code",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons",
                                                    "query": null,
                                                    "body": {
                                                        "code": "ramadan-25",
                                                        "discount_type": "percent",
                                                        "discount_value": "10.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_code_is_uppercased_and_unique_case_insensitively"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"ramadan-25\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Code has already been taken.\",\n    \"data\": {\n        \"errors\": {\n            \"code\": [\n                \"The Code has already been taken.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon Ends Before Start",
                                            "_joshen": {
                                                "route": "admin.coupons.store",
                                                "name": "Coupon Ends Before Start",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons",
                                                    "query": null,
                                                    "body": {
                                                        "code": "welcome10",
                                                        "discount_type": "percent",
                                                        "discount_value": "10.00",
                                                        "starts_at": "2026-12-01T00:00:00+03:00",
                                                        "ends_at": "2026-11-01T00:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_end_must_come_after_start"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"welcome10\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"starts_at\": \"2026-12-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-11-01T00:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Ends At field must be a date after Starts At.\",\n    \"data\": {\n        \"errors\": {\n            \"ends_at\": [\n                \"The Ends At field must be a date after Starts At.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon Per Customer Limit Null",
                                            "_joshen": {
                                                "route": "admin.coupons.store",
                                                "name": "Coupon Per Customer Limit Null",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons",
                                                    "query": null,
                                                    "body": {
                                                        "code": "welcome10",
                                                        "discount_type": "percent",
                                                        "discount_value": "10.00",
                                                        "per_customer_limit": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_per_customer_limit_cannot_be_null"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"welcome10\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"per_customer_limit\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Per customer limit field must be an integer. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"per_customer_limit\": [\n                \"The Per customer limit field must be an integer.\",\n                \"The Per customer limit field must be at least 1.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon Percent Above Hundred",
                                            "_joshen": {
                                                "route": "admin.coupons.store",
                                                "name": "Coupon Percent Above Hundred",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons",
                                                    "query": null,
                                                    "body": {
                                                        "code": "welcome10",
                                                        "discount_type": "percent",
                                                        "discount_value": "100.01"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_percent_above_hundred_is_rejected_with_a_field_error"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"welcome10\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"100.01\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The discount percentage cannot exceed 100.\",\n    \"data\": {\n        \"errors\": {\n            \"discount_value\": [\n                \"The discount percentage cannot exceed 100.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon Scope Target Not A Uuid",
                                            "_joshen": {
                                                "route": "admin.coupons.store",
                                                "name": "Coupon Scope Target Not A Uuid",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons",
                                                    "query": null,
                                                    "body": {
                                                        "code": "welcome10",
                                                        "discount_type": "percent",
                                                        "discount_value": "10.00",
                                                        "applies_to": "category",
                                                        "applies_to_id": "6"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_bad_scope_targets_are_validation_errors_and_integer_ids_are_not_found"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"welcome10\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"applies_to\": \"category\",\n    \"applies_to_id\": \"6\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Scope target field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"applies_to_id\": [\n                \"The Scope target field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "coupon_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"coupon_id\",\"Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"coupon_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "coupons",
                                                ":coupon"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "coupon",
                                                    "value": "{{coupon_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.coupons.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{coupon_id}}` — Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `coupon_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Coupon Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-0681-7126-84b7-c39f0aefe1ef\",\n        \"code\": \"sample-qadi83280900\",\n        \"description\": null,\n        \"discount_type\": {\n            \"value\": \"fixed\",\n            \"label\": \"Fixed amount\"\n        },\n        \"discount_value\": \"10.00\",\n        \"max_discount\": null,\n        \"min_order_amount\": \"0.00\",\n        \"applies_to\": {\n            \"value\": \"category\",\n            \"label\": \"Category\"\n        },\n        \"applies_to_id\": \"01a1c637-067d-725d-a0c1-262d8c38476c\",\n        \"funded_by\": {\n            \"value\": \"platform\",\n            \"label\": \"Joshen\"\n        },\n        \"usage_limit\": null,\n        \"per_customer_limit\": 1,\n        \"used_count\": 0,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T16:07:37+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Coupon Details",
                                            "_joshen": {
                                                "route": "admin.coupons.show",
                                                "name": "Coupon Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons/01a1c637-0681-7126-84b7-c39f0aefe1ef",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_show_returns_the_scope_target_uuid"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/01a1c637-0681-7126-84b7-c39f0aefe1ef",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        "01a1c637-0681-7126-84b7-c39f0aefe1ef"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-0681-7126-84b7-c39f0aefe1ef\",\n        \"code\": \"sample-qadi83280900\",\n        \"description\": null,\n        \"discount_type\": {\n            \"value\": \"fixed\",\n            \"label\": \"Fixed amount\"\n        },\n        \"discount_value\": \"10.00\",\n        \"max_discount\": null,\n        \"min_order_amount\": \"0.00\",\n        \"applies_to\": {\n            \"value\": \"category\",\n            \"label\": \"Category\"\n        },\n        \"applies_to_id\": \"01a1c637-067d-725d-a0c1-262d8c38476c\",\n        \"funded_by\": {\n            \"value\": \"platform\",\n            \"label\": \"Joshen\"\n        },\n        \"usage_limit\": null,\n        \"per_customer_limit\": 1,\n        \"used_count\": 0,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": true,\n        \"created_at\": \"2026-11-10T16:07:37+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "coupon_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "coupon_id",
                                                "set_by": [
                                                    "admin.coupons.index",
                                                    "admin.coupons.store",
                                                    "admin.coupons.show",
                                                    "admin.coupons.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"coupon_id\",\"Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"coupon_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "coupons",
                                                ":coupon"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "coupon",
                                                    "value": "{{coupon_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.coupons.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `code`\n- **Description:** Code the customer types; letters, digits, dash and underscore, unique and case-insensitive. Stored upper-case.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `WELCOME10`\n- **Validation rules:** `sometimes|string|max:40|regex:/^[A-Za-z0-9_-]+$/|unique:coupons,code,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:40` — must not exceed 40.\n- `regex:/^[A-Za-z0-9_-]+$/` — must match the pattern shown.\n- `unique:coupons,code,NULL,id` — must be unique (coupons, code, NULL, id).\n### `description`\n- **Description:** Internal note for admins.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Launch campaign`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `discount_type`\n- **Description:** percent (of the services amount, rounded half-up to 2 decimals) or fixed (SAR).\n- **Type:** `string (enum)`\n- **Allowed values:** `percent`, `fixed`\n- **Required:** optional\n- **Example:** `percent`\n- **Validation rules:** `sometimes|in:\"percent\",\"fixed\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"percent\",\"fixed\"` — must be one of: \"percent\", \"fixed\".\n### `discount_value`\n- **Description:** Percent (1–100) or SAR amount, 2 decimals, above zero. Joshen funds the discount (TD-131).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `10.00`\n- **Validation rules:** `sometimes|numeric|min:0|max:9999999999.99|decimal:0,2|gt:0`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `gt:0` — custom validation rule.\n### `max_discount`\n- **Description:** Cap on one order's discount, SAR; null = no cap.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `50.00`\n- **Validation rules:** `nullable|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `min_order_amount`\n- **Description:** Smallest services amount (before delivery) the coupon accepts, SAR. Default 0.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `100.00`\n- **Validation rules:** `sometimes|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `applies_to`\n- **Description:** Scope: all, category, service or provider. Packages are not covered (TD-148). Default all.\n- **Type:** `string (enum)`\n- **Allowed values:** `all`, `category`, `service`, `provider`\n- **Required:** optional\n- **Example:** `all`\n- **Validation rules:** `sometimes|in:\"all\",\"category\",\"service\",\"provider\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"all\",\"category\",\"service\",\"provider\"` — must be one of: \"all\", \"category\", \"service\", \"provider\".\n### `applies_to_id`\n- **Description:** Public uuid of the category, bookable service or provider named by applies_to; ignored for all.\n- **Type:** `string (uuid)`\n- **Required:** conditional\n- **Example:** `null`\n- **Validation rules:** `nullable|uuid|required_if:applies_to,category,service,provider`\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `required_if:applies_to,category,service,provider` — required when applies_to, category, service, provider.\n### `usage_limit`\n- **Description:** Total uses across all customers; null = unlimited. A use counts from order creation and is given back if the order is rejected, expires or is cancelled.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `100`\n- **Validation rules:** `nullable|integer|min:1`\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `min:1` — must be at least 1.\n### `per_customer_limit`\n- **Description:** Uses one customer may have (at least 1, required by the schema). Default 1.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|min:1`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `min:1` — must be at least 1.\n### `starts_at`\n- **Description:** ISO 8601 start; null = already started.\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-11-01T00:00:00+03:00`\n- **Validation rules:** `nullable|date`\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `ends_at`\n- **Description:** ISO 8601 end; null = no end.\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-12-01T00:00:00+03:00`\n- **Validation rules:** `nullable|date`\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `is_active`\n- **Description:** Switch off to stop new uses; used coupons are deactivated, never deleted. Default true.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{coupon_id}}` — Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `coupon_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Coupon Updated Partially\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Coupon Update Percent Above Hundred\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-0252-735d-9726-afa4530877ff\",\n        \"code\": \"WELCOME10\",\n        \"description\": null,\n        \"discount_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"discount_value\": \"10.00\",\n        \"max_discount\": \"25.00\",\n        \"min_order_amount\": \"0.00\",\n        \"applies_to\": {\n            \"value\": \"all\",\n            \"label\": \"All services\"\n        },\n        \"applies_to_id\": null,\n        \"funded_by\": {\n            \"value\": \"platform\",\n            \"label\": \"Joshen\"\n        },\n        \"usage_limit\": 80,\n        \"per_customer_limit\": 1,\n        \"used_count\": 0,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": false,\n        \"created_at\": \"2026-11-10T16:07:36+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"code\": \"WELCOME10\",\n    \"description\": \"Launch campaign\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"max_discount\": \"50.00\",\n    \"min_order_amount\": \"100.00\",\n    \"applies_to\": \"all\",\n    \"applies_to_id\": null,\n    \"usage_limit\": 100,\n    \"per_customer_limit\": 1,\n    \"starts_at\": \"2026-11-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Coupon Updated Partially",
                                            "_joshen": {
                                                "route": "admin.coupons.update",
                                                "name": "Coupon Updated Partially",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons/01a1c637-0252-735d-9726-afa4530877ff",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": false,
                                                        "usage_limit": 80
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_partial_update_keeps_the_other_fields"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/01a1c637-0252-735d-9726-afa4530877ff",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        "01a1c637-0252-735d-9726-afa4530877ff"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": false,\n    \"usage_limit\": 80\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-0252-735d-9726-afa4530877ff\",\n        \"code\": \"WELCOME10\",\n        \"description\": null,\n        \"discount_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"discount_value\": \"10.00\",\n        \"max_discount\": \"25.00\",\n        \"min_order_amount\": \"0.00\",\n        \"applies_to\": {\n            \"value\": \"all\",\n            \"label\": \"All services\"\n        },\n        \"applies_to_id\": null,\n        \"funded_by\": {\n            \"value\": \"platform\",\n            \"label\": \"Joshen\"\n        },\n        \"usage_limit\": 80,\n        \"per_customer_limit\": 1,\n        \"used_count\": 0,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"is_active\": false,\n        \"created_at\": \"2026-11-10T16:07:36+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"WELCOME10\",\n    \"description\": \"Launch campaign\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"max_discount\": \"50.00\",\n    \"min_order_amount\": \"100.00\",\n    \"applies_to\": \"all\",\n    \"applies_to_id\": null,\n    \"usage_limit\": 100,\n    \"per_customer_limit\": 1,\n    \"starts_at\": \"2026-11-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"WELCOME10\",\n    \"description\": \"Launch campaign\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"max_discount\": \"50.00\",\n    \"min_order_amount\": \"100.00\",\n    \"applies_to\": \"all\",\n    \"applies_to_id\": null,\n    \"usage_limit\": 100,\n    \"per_customer_limit\": 1,\n    \"starts_at\": \"2026-11-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"code\": \"WELCOME10\",\n    \"description\": \"Launch campaign\",\n    \"discount_type\": \"percent\",\n    \"discount_value\": \"10.00\",\n    \"max_discount\": \"50.00\",\n    \"min_order_amount\": \"100.00\",\n    \"applies_to\": \"all\",\n    \"applies_to_id\": null,\n    \"usage_limit\": 100,\n    \"per_customer_limit\": 1,\n    \"starts_at\": \"2026-11-01T00:00:00+03:00\",\n    \"ends_at\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon Update Percent Above Hundred",
                                            "_joshen": {
                                                "route": "admin.coupons.update",
                                                "name": "Coupon Update Percent Above Hundred",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons/01a1c636-f7a7-7004-a01e-78ed6d92a6de",
                                                    "query": null,
                                                    "body": {
                                                        "discount_value": "150"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_015_update_cannot_push_an_existing_percent_coupon_above_hundred"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/01a1c636-f7a7-7004-a01e-78ed6d92a6de",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        "01a1c636-f7a7-7004-a01e-78ed6d92a6de"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"discount_value\": \"150\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The discount percentage cannot exceed 100.\",\n    \"data\": {\n        \"errors\": {\n            \"discount_value\": [\n                \"The discount percentage cannot exceed 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "coupon_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "coupon_id",
                                                "set_by": [
                                                    "admin.coupons.index",
                                                    "admin.coupons.store",
                                                    "admin.coupons.show",
                                                    "admin.coupons.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"coupon_id\",\"Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "coupons",
                                                ":coupon"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "coupon",
                                                    "value": "{{coupon_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.coupons.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{coupon_id}}` — Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Coupon Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Coupon Used Cannot Be Deleted — `error_code: COUPON_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Coupon Deleted",
                                            "_joshen": {
                                                "route": "admin.coupons.destroy",
                                                "name": "Coupon Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons/01a1c637-0894-72c6-b239-654a393ac8cc",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_016_unused_coupon_is_deleted_and_used_coupon_is_kept_with_409"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/01a1c637-0894-72c6-b239-654a393ac8cc",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        "01a1c637-0894-72c6-b239-654a393ac8cc"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/:coupon",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        ":coupon"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "coupon",
                                                            "value": "{{coupon_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Coupon Used Cannot Be Deleted",
                                            "_joshen": {
                                                "route": "admin.coupons.destroy",
                                                "name": "Coupon Used Cannot Be Deleted",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/coupons/01a1c637-0895-72fa-a96b-138a524a0bac",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CouponControllerTest::test_ac_admin_016_unused_coupon_is_deleted_and_used_coupon_is_kept_with_409"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/coupons/01a1c637-0895-72fa-a96b-138a524a0bac",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "coupons",
                                                        "01a1c637-0895-72fa-a96b-138a524a0bac"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A coupon that has been used cannot be deleted; deactivate it instead.\",\n    \"data\": {\n        \"error_code\": \"COUPON_IN_USE\",\n        \"correlation_id\": \"4fd5f5de-9f7c-4b98-911b-0ab0a1c7ea88\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "coupon_id",
                                                "set_by": [
                                                    "admin.coupons.index",
                                                    "admin.coupons.store",
                                                    "admin.coupons.show",
                                                    "admin.coupons.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/coupons, POST /api/v1/admin/coupons, GET /api/v1/admin/coupons/{coupon}, PUT /api/v1/admin/coupons/{coupon}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Providers",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"provider_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Fatima",
                                                    "description": "Partial match on display name and phone only. Identity numbers are never searchable (TD-54). — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[notification_reachable]",
                                                    "value": "1",
                                                    "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[account_status]",
                                                    "value": "pending_review",
                                                    "description": "Review status of the provider profile (§7 of admin/providers.md). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_type]",
                                                    "value": "individual",
                                                    "description": "Individual provider or establishment (D4: one account per establishment). — `string (enum)`, one of: `individual`, `establishment`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[city_id]",
                                                    "value": "{{governorate_id}}",
                                                    "description": "Provider city (BRD city = base governorate). Unknown uuid gives 422 naming `filters.city_id`. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[instant_enabled]",
                                                    "value": "1",
                                                    "description": "Provider offers instant booking (D3): 1 or 0. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_accepting_bookings]",
                                                    "value": "1",
                                                    "description": "Provider is currently accepting new bookings: 1 or 0. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[submitted_at]",
                                                    "value": "desc",
                                                    "description": "Order by review submission time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[rating_avg]",
                                                    "value": "desc",
                                                    "description": "Order by saved average rating. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[completed_orders_count]",
                                                    "value": "desc",
                                                    "description": "Order by saved completed-order count. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[display_name]",
                                                    "value": "asc",
                                                    "description": "Order by provider display (trading) name. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Registered on or after this UTC date (inclusive). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Registered on or before this UTC date (inclusive, not before `created_from`). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[submitted_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Submitted for review on or after this UTC date (inclusive). Never-submitted profiles do not match. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[submitted_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Submitted for review on or before this UTC date (inclusive, not before `submitted_from`). — `string (date)`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on display name and phone only. Identity numbers are never searchable (TD-54). — `string` (optional)\n- `filters[notification_reachable]` — General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean` (optional)\n- `filters[account_status]` — Review status of the provider profile (§7 of admin/providers.md). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended` (optional)\n- `filters[provider_type]` — Individual provider or establishment (D4: one account per establishment). — `string (enum)`, one of: `individual`, `establishment` (optional)\n- `filters[city_id]` — Provider city (BRD city = base governorate). Unknown uuid gives 422 naming `filters.city_id`. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `filters[instant_enabled]` — Provider offers instant booking (D3): 1 or 0. — `boolean` (optional)\n- `filters[is_accepting_bookings]` — Provider is currently accepting new bookings: 1 or 0. — `boolean` (optional)\n- `sort[created_at]` — Order by registration time. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[submitted_at]` — Order by review submission time. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[rating_avg]` — Order by saved average rating. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[completed_orders_count]` — Order by saved completed-order count. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[display_name]` — Order by provider display (trading) name. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `filters[created_from]` — Registered on or after this UTC date (inclusive). — `string (date)` (optional)\n- `filters[created_to]` — Registered on or before this UTC date (inclusive, not before `created_from`). — `string (date)` (optional)\n- `filters[submitted_from]` — Submitted for review on or after this UTC date (inclusive). Never-submitted profiles do not match. — `string (date)` (optional)\n- `filters[submitted_to]` — Submitted for review on or before this UTC date (inclusive, not before `submitted_from`). — `string (date)` (optional)\n\n**Variables:**\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `provider_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Provider Index\n- `200` Reachable general notification recipients\n- `200` Reachable recipients dropdown\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid notification reachability filter\n- `422` Provider Invalid City\n- `422` Provider Invalid Sort\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"providers\": [\n            {\n                \"id\": \"01a17207-9894-715b-b62b-19efac26a050\",\n                \"display_name\": \"Maryjane Cronin\",\n                \"provider_type\": {\n                    \"value\": \"individual\",\n                    \"label\": \"Individual\"\n                },\n                \"phone_code\": \"966\",\n                \"phone\": \"585898514\",\n                \"city\": null,\n                \"service_radius_km\": 10,\n                \"districts_count\": 0,\n                \"account_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"is_accepting_bookings\": false,\n                \"instant_enabled\": false,\n                \"is_featured\": false,\n                \"featured_status\": {\n                    \"value\": \"not_subscribed\",\n                    \"label\": \"Not subscribed\"\n                },\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_orders_count\": 0,\n                \"submitted_at\": \"2026-10-25T07:47:42+00:00\",\n                \"created_at\": \"2026-10-25T07:47:42+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/providers?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/providers?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/providers?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/providers\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider Index",
                                            "_joshen": {
                                                "route": "admin.providers.index",
                                                "name": "Provider Index",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"providers\": [\n            {\n                \"id\": \"01a17207-9894-715b-b62b-19efac26a050\",\n                \"display_name\": \"Maryjane Cronin\",\n                \"provider_type\": {\n                    \"value\": \"individual\",\n                    \"label\": \"Individual\"\n                },\n                \"phone_code\": \"966\",\n                \"phone\": \"585898514\",\n                \"city\": null,\n                \"service_radius_km\": 10,\n                \"districts_count\": 0,\n                \"account_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"is_accepting_bookings\": false,\n                \"instant_enabled\": false,\n                \"is_featured\": false,\n                \"featured_status\": {\n                    \"value\": \"not_subscribed\",\n                    \"label\": \"Not subscribed\"\n                },\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_orders_count\": 0,\n                \"submitted_at\": \"2026-10-25T07:47:42+00:00\",\n                \"created_at\": \"2026-10-25T07:47:42+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/providers?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/providers?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/providers?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/providers\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Reachable general notification recipients",
                                            "_joshen": {
                                                "route": "admin.providers.index",
                                                "name": "Reachable general notification recipients",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers",
                                                    "query": {
                                                        "filters": {
                                                            "notification_reachable": "1"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_filters_match_general_notification_recipients"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers?filters[notification_reachable]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"providers\": [\n            {\n                \"id\": \"01a1bb64-bb51-72d9-bdd7-62b9367efbd0\",\n                \"display_name\": \"Walker VonRueden\",\n                \"provider_type\": {\n                    \"value\": \"individual\",\n                    \"label\": \"Individual\"\n                },\n                \"phone_code\": \"966\",\n                \"phone\": \"507353929\",\n                \"city\": null,\n                \"service_radius_km\": 10,\n                \"districts_count\": 0,\n                \"account_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_accepting_bookings\": false,\n                \"instant_enabled\": false,\n                \"is_featured\": false,\n                \"featured_status\": {\n                    \"value\": \"not_subscribed\",\n                    \"label\": \"Not subscribed\"\n                },\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_orders_count\": 0,\n                \"submitted_at\": null,\n                \"created_at\": \"2026-11-08T13:41:43+00:00\"\n            },\n            {\n                \"id\": \"01a1bb64-bb4d-718b-8c48-2621094fc2c9\",\n                \"display_name\": \"Katlynn Mraz\",\n                \"provider_type\": {\n                    \"value\": \"individual\",\n                    \"label\": \"Individual\"\n                },\n                \"phone_code\": \"966\",\n                \"phone\": \"588199237\",\n                \"city\": null,\n                \"service_radius_km\": 10,\n                \"districts_count\": 0,\n                \"account_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_accepting_bookings\": false,\n                \"instant_enabled\": false,\n                \"is_featured\": false,\n                \"featured_status\": {\n                    \"value\": \"not_subscribed\",\n                    \"label\": \"Not subscribed\"\n                },\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_orders_count\": 0,\n                \"submitted_at\": null,\n                \"created_at\": \"2026-11-08T13:41:43+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/providers?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/providers?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/providers?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/providers\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Reachable recipients dropdown",
                                            "_joshen": {
                                                "route": "admin.providers.index",
                                                "name": "Reachable recipients dropdown",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers",
                                                    "query": {
                                                        "paginate": "false",
                                                        "filters": {
                                                            "notification_reachable": true
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_filters_match_general_notification_recipients"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers?paginate=false&filters[notification_reachable]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bb64-bb51-72d9-bdd7-62b9367efbd0\",\n            \"display_name\": \"Walker VonRueden\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"phone_code\": \"966\",\n            \"phone\": \"507353929\",\n            \"city\": null,\n            \"service_radius_km\": 10,\n            \"districts_count\": 0,\n            \"account_status\": {\n                \"value\": \"approved\",\n                \"label\": \"Approved\"\n            },\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_featured\": false,\n            \"featured_status\": {\n                \"value\": \"not_subscribed\",\n                \"label\": \"Not subscribed\"\n            },\n            \"rating_avg\": null,\n            \"rating_count\": 0,\n            \"completed_orders_count\": 0,\n            \"submitted_at\": null,\n            \"created_at\": \"2026-11-08T13:41:43+00:00\"\n        },\n        {\n            \"id\": \"01a1bb64-bb4d-718b-8c48-2621094fc2c9\",\n            \"display_name\": \"Katlynn Mraz\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"phone_code\": \"966\",\n            \"phone\": \"588199237\",\n            \"city\": null,\n            \"service_radius_km\": 10,\n            \"districts_count\": 0,\n            \"account_status\": {\n                \"value\": \"approved\",\n                \"label\": \"Approved\"\n            },\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_featured\": false,\n            \"featured_status\": {\n                \"value\": \"not_subscribed\",\n                \"label\": \"Not subscribed\"\n            },\n            \"rating_avg\": null,\n            \"rating_count\": 0,\n            \"completed_orders_count\": 0,\n            \"submitted_at\": null,\n            \"created_at\": \"2026-11-08T13:41:43+00:00\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Fatima",
                                                            "description": "Partial match on display name and phone only. Identity numbers are never searchable (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "pending_review",
                                                            "description": "Review status of the provider profile (§7 of admin/providers.md). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_type]",
                                                            "value": "individual",
                                                            "description": "Individual provider or establishment (D4: one account per establishment). — `string (enum)`, one of: `individual`, `establishment`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Provider city (BRD city = base governorate). Unknown uuid gives 422 naming `filters.city_id`. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[instant_enabled]",
                                                            "value": "1",
                                                            "description": "Provider offers instant booking (D3): 1 or 0. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_accepting_bookings]",
                                                            "value": "1",
                                                            "description": "Provider is currently accepting new bookings: 1 or 0. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "desc",
                                                            "description": "Order by review submission time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[rating_avg]",
                                                            "value": "desc",
                                                            "description": "Order by saved average rating. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[completed_orders_count]",
                                                            "value": "desc",
                                                            "description": "Order by saved completed-order count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[display_name]",
                                                            "value": "asc",
                                                            "description": "Order by provider display (trading) name. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Registered on or after this UTC date (inclusive). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Registered on or before this UTC date (inclusive, not before `created_from`). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Submitted for review on or after this UTC date (inclusive). Never-submitted profiles do not match. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Submitted for review on or before this UTC date (inclusive, not before `submitted_from`). — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Fatima",
                                                            "description": "Partial match on display name and phone only. Identity numbers are never searchable (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "pending_review",
                                                            "description": "Review status of the provider profile (§7 of admin/providers.md). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_type]",
                                                            "value": "individual",
                                                            "description": "Individual provider or establishment (D4: one account per establishment). — `string (enum)`, one of: `individual`, `establishment`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Provider city (BRD city = base governorate). Unknown uuid gives 422 naming `filters.city_id`. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[instant_enabled]",
                                                            "value": "1",
                                                            "description": "Provider offers instant booking (D3): 1 or 0. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_accepting_bookings]",
                                                            "value": "1",
                                                            "description": "Provider is currently accepting new bookings: 1 or 0. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "desc",
                                                            "description": "Order by review submission time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[rating_avg]",
                                                            "value": "desc",
                                                            "description": "Order by saved average rating. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[completed_orders_count]",
                                                            "value": "desc",
                                                            "description": "Order by saved completed-order count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[display_name]",
                                                            "value": "asc",
                                                            "description": "Order by provider display (trading) name. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Registered on or after this UTC date (inclusive). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Registered on or before this UTC date (inclusive, not before `created_from`). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Submitted for review on or after this UTC date (inclusive). Never-submitted profiles do not match. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Submitted for review on or before this UTC date (inclusive, not before `submitted_from`). — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Fatima",
                                                            "description": "Partial match on display name and phone only. Identity numbers are never searchable (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "pending_review",
                                                            "description": "Review status of the provider profile (§7 of admin/providers.md). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_type]",
                                                            "value": "individual",
                                                            "description": "Individual provider or establishment (D4: one account per establishment). — `string (enum)`, one of: `individual`, `establishment`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Provider city (BRD city = base governorate). Unknown uuid gives 422 naming `filters.city_id`. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[instant_enabled]",
                                                            "value": "1",
                                                            "description": "Provider offers instant booking (D3): 1 or 0. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_accepting_bookings]",
                                                            "value": "1",
                                                            "description": "Provider is currently accepting new bookings: 1 or 0. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "desc",
                                                            "description": "Order by review submission time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[rating_avg]",
                                                            "value": "desc",
                                                            "description": "Order by saved average rating. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[completed_orders_count]",
                                                            "value": "desc",
                                                            "description": "Order by saved completed-order count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[display_name]",
                                                            "value": "asc",
                                                            "description": "Order by provider display (trading) name. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Registered on or after this UTC date (inclusive). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Registered on or before this UTC date (inclusive, not before `created_from`). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Submitted for review on or after this UTC date (inclusive). Never-submitted profiles do not match. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Submitted for review on or before this UTC date (inclusive, not before `submitted_from`). — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid notification reachability filter",
                                            "_joshen": {
                                                "route": "admin.providers.index",
                                                "name": "Invalid notification reachability filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers",
                                                    "query": {
                                                        "filters": {
                                                            "notification_reachable": "approved"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_composes_with_existing_filters_and_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers?filters[notification_reachable]=approved",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "approved"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.notification_reachable field must be true or false.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.notification_reachable\": [\n                \"The filters.notification_reachable field must be true or false.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider Invalid City",
                                            "_joshen": {
                                                "route": "admin.providers.index",
                                                "name": "Provider Invalid City",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers",
                                                    "query": {
                                                        "filters": {
                                                            "city_id": "123"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_invalid_queries_and_reasons"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers?filters[city_id]=123",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "123"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.city_id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.city_id\": [\n                \"The filters.city_id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider Invalid Sort",
                                            "_joshen": {
                                                "route": "admin.providers.index",
                                                "name": "Provider Invalid Sort",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers",
                                                    "query": {
                                                        "sort": {
                                                            "display_name": "sideways"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers?sort[display_name]=sideways",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "sort[display_name]",
                                                            "value": "sideways"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected sort.display_name is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"sort.display_name\": [\n                \"The selected sort.display_name is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "provider_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Identity",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/identity",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "identity"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.identity`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Provider Identity\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-c25b-72aa-a151-c02378dccc10\",\n        \"national_id\": \"1234567890\",\n        \"commercial_register_no\": \"9876543210\",\n        \"vat_number\": \"300123456789003\",\n        \"documents\": [\n            {\n                \"id\": \"01a17207-c266-71c4-98b9-495efcd5ace8\",\n                \"type\": {\n                    \"value\": \"commercial_register\",\n                    \"label\": \"Commercial register\"\n                },\n                \"doc_number\": \"FULL-DOCUMENT-12345\"\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider Identity",
                                            "_joshen": {
                                                "route": "admin.providers.identity",
                                                "name": "Provider Identity",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-c25b-72aa-a151-c02378dccc10/identity",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_identity_read_is_audited_and_not_granted_by_view"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-c25b-72aa-a151-c02378dccc10/identity",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-c25b-72aa-a151-c02378dccc10",
                                                        "identity"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-c25b-72aa-a151-c02378dccc10\",\n        \"national_id\": \"1234567890\",\n        \"commercial_register_no\": \"9876543210\",\n        \"vat_number\": \"300123456789003\",\n        \"documents\": [\n            {\n                \"id\": \"01a17207-c266-71c4-98b9-495efcd5ace8\",\n                \"type\": {\n                    \"value\": \"commercial_register\",\n                    \"label\": \"Commercial register\"\n                },\n                \"doc_number\": \"FULL-DOCUMENT-12345\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/identity",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "identity"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/identity",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "identity"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/identity",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "identity"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Work Area",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/work-area",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "work-area"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.work-area`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `city_id`\n- **Description:** City (governorates = BRD city) the provider works in; must be an enabled service area. Omit to keep the saved one. The admin may change it in any status (she is the reviewer, TD-83).\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `sometimes|required|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `district_ids`\n- **Description:** Full list of covered district uuids (regions); replaces the saved list, [] clears it. Each must be enabled and belong to the resulting city (BR-08).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{region_id}}\"]`\n- **Validation rules:** `sometimes|array|list`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `district_ids.*`\n- **Description:** Covered district uuid (regions).\n- **Type:** `string (uuid)`\n- **Refers to:** a `regions` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{region_id}}`\n- **Validation rules:** `required|distinct|uuid|exists:regions,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:regions,uuid` — must reference an existing record (regions, uuid).\n### `base_lat`\n- **Description:** Latitude of the point she travels from; send with base_lng, both numbers or both null (TD-77).\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `24.713552`\n- **Validation rules:** `nullable|present_with:base_lng|required_with:base_lng|numeric|between:-90,90`\n- `nullable` — may be null.\n- `present_with:base_lng` — custom validation rule.\n- `required_with:base_lng` — required when base_lng is present.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `base_lng`\n- **Description:** Longitude paired with base_lat.\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `46.675296`\n- **Validation rules:** `nullable|present_with:base_lat|required_with:base_lat|numeric|between:-180,180`\n- `nullable` — may be null.\n- `present_with:base_lat` — custom validation rule.\n- `required_with:base_lat` — required when base_lat is present.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n### `service_radius_km`\n- **Description:** Travel radius around the base point in km, 1–32767.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `15`\n- **Validation rules:** `sometimes|integer|between:1,32767`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:1,32767` — must be between 1, 32767.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n\n**Responses:**\n- `200` Provider Work Area Set By Admin\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Provider Work Area Disabled City — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Provider Work Area District Of Another City — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Provider Work Area Invalid Form\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a17247-3140-71cb-ba5c-60c14e050965\",\n            \"name\": \"Sample-rldh56017390\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a17247-3145-70bd-98eb-f877f6c14354\",\n                \"name\": \"Sample-ondx18997149\"\n            },\n            {\n                \"id\": \"01a17247-3145-70bd-98eb-f877f789e018\",\n                \"name\": \"Sample-qahn32285329\"\n            }\n        ],\n        \"base_lat\": 24.713552,\n        \"base_lng\": 46.675296,\n        \"service_radius_km\": 15,\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\",\n            \"base_lat\",\n            \"base_lng\",\n            \"service_radius_km\"\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider Work Area Set By Admin",
                                            "_joshen": {
                                                "route": "admin.providers.work-area",
                                                "name": "Provider Work Area Set By Admin",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17247-314a-73c0-8446-680cbeaa4e6f/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a17247-3140-71cb-ba5c-60c14e050965",
                                                        "district_ids": [
                                                            "01a17247-3145-70bd-98eb-f877f6c14354",
                                                            "01a17247-3145-70bd-98eb-f877f789e018"
                                                        ],
                                                        "base_lat": 24.713552,
                                                        "base_lng": 46.675296,
                                                        "service_radius_km": 15
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CoverageManagementTest::test_ac_admin_021_admin_moves_a_provider_to_another_city_in_any_status"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17247-314a-73c0-8446-680cbeaa4e6f/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17247-314a-73c0-8446-680cbeaa4e6f",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a17247-3140-71cb-ba5c-60c14e050965\",\n    \"district_ids\": [\n        \"01a17247-3145-70bd-98eb-f877f6c14354\",\n        \"01a17247-3145-70bd-98eb-f877f789e018\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a17247-3140-71cb-ba5c-60c14e050965\",\n            \"name\": \"Sample-rldh56017390\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a17247-3145-70bd-98eb-f877f6c14354\",\n                \"name\": \"Sample-ondx18997149\"\n            },\n            {\n                \"id\": \"01a17247-3145-70bd-98eb-f877f789e018\",\n                \"name\": \"Sample-qahn32285329\"\n            }\n        ],\n        \"base_lat\": 24.713552,\n        \"base_lng\": 46.675296,\n        \"service_radius_km\": 15,\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\",\n            \"base_lat\",\n            \"base_lng\",\n            \"service_radius_km\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "work-area"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "work-area"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "work-area"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider Work Area Disabled City",
                                            "_joshen": {
                                                "route": "admin.providers.work-area",
                                                "name": "Provider Work Area Disabled City",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17247-3c9a-7270-8372-6f1728054559/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a17247-3cb2-7073-9a4b-65f28389c884"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CoverageManagementTest::test_ac_admin_021_the_areas_must_be_enabled_and_consistent"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17247-3c9a-7270-8372-6f1728054559/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17247-3c9a-7270-8372-6f1728054559",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a17247-3cb2-7073-9a4b-65f28389c884\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"d0e6c94f-5c8f-4915-b797-d78caff0d058\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider Work Area District Of Another City",
                                            "_joshen": {
                                                "route": "admin.providers.work-area",
                                                "name": "Provider Work Area District Of Another City",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17247-3c9a-7270-8372-6f1728054559/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "district_ids": [
                                                            "01a17247-3c97-705f-acbf-1290c5241cae"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CoverageManagementTest::test_ac_admin_021_the_areas_must_be_enabled_and_consistent"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17247-3c9a-7270-8372-6f1728054559/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17247-3c9a-7270-8372-6f1728054559",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"district_ids\": [\n        \"01a17247-3c97-705f-acbf-1290c5241cae\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district does not belong to this city.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"The selected district does not belong to this city.\"\n            ]\n        },\n        \"correlation_id\": \"254a4c10-92e5-473a-86aa-91bf998a77e8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider Work Area Invalid Form",
                                            "_joshen": {
                                                "route": "admin.providers.work-area",
                                                "name": "Provider Work Area Invalid Form",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17247-3c9a-7270-8372-6f1728054559/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "x",
                                                        "district_ids": [
                                                            "y"
                                                        ],
                                                        "base_lat": 24.7,
                                                        "service_radius_km": 0
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CoverageManagementTest::test_ac_admin_021_the_areas_must_be_enabled_and_consistent"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17247-3c9a-7270-8372-6f1728054559/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17247-3c9a-7270-8372-6f1728054559",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"x\",\n    \"district_ids\": [\n        \"y\"\n    ],\n    \"base_lat\": 24.7,\n    \"service_radius_km\": 0\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The City field must be a valid UUID. (and 3 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The City field must be a valid UUID.\"\n            ],\n            \"base_lng\": [\n                \"The Base longitude field must be present when Base latitude is present.\"\n            ],\n            \"service_radius_km\": [\n                \"The Service radius field must be between 1 and 32767.\"\n            ],\n            \"district_ids.0\": [\n                \"The district_ids.0 field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"provider_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `provider_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Approved registration categories in provider details\n- `200` Provider Details Full\n- `200` Provider Review History\n- `200` Provider Show\n- `200` Provider Verified Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-d127-709b-a59d-03077a442408\",\n        \"display_name\": \"Prof. Neal DuBuque\",\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"phone_code\": \"966\",\n        \"phone\": \"508432825\",\n        \"city\": null,\n        \"service_radius_km\": 10,\n        \"districts_count\": 0,\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"is_featured\": false,\n        \"featured_status\": {\n            \"value\": \"not_subscribed\",\n            \"label\": \"Not subscribed\"\n        },\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_orders_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:47:57+00:00\",\n        \"created_at\": \"2026-10-25T07:47:57+00:00\",\n        \"user_id\": \"01a17207-d127-709b-a59d-03077a917523\",\n        \"bio\": null,\n        \"professional_title\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"authorized_person\": {\n            \"name\": null,\n            \"phone\": null\n        },\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": \"2026-10-25T07:47:57+00:00\",\n        \"approved_by\": \"01a17207-d134-7058-9a08-7ed44598a4e1\",\n        \"instant_terms_ack_at\": null,\n        \"coverage\": {\n            \"base_lat\": null,\n            \"base_lng\": null,\n            \"service_radius_km\": 10,\n            \"districts\": []\n        },\n        \"image\": null,\n        \"portfolio\": [],\n        \"working_hours\": [],\n        \"time_off\": [],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-d131-706d-9b69-d077ba55ea4c\",\n                \"type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-d12f-71e4-a769-c3372418e2c3\",\n                \"type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-d12d-7234-8a70-3a8a9c45e445\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"main_services\": [\n            {\n                \"id\": \"01a17207-d139-71cf-a916-3a3ecd6d0c79\",\n                \"category\": {\n                    \"id\": \"01a17207-d139-71cf-a916-3a3ecda914d6\",\n                    \"name\": \"Sample-ifio23677704\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_enabled\": true\n            },\n            {\n                \"id\": \"01a17207-d13e-72d9-bfad-40a853b9c97d\",\n                \"category\": {\n                    \"id\": \"01a17207-d13e-72d9-bfad-40a853e69938\",\n                    \"name\": \"Sample-dlau61602357\"\n                },\n                \"status\": {\n                    \"value\": \"rejected\",\n                    \"label\": \"Rejected\"\n                },\n                \"is_enabled\": true\n            },\n            {\n                \"id\": \"01a17207-d141-7181-91bc-ac26e550ba79\",\n                \"category\": {\n                    \"id\": \"01a17207-d141-7181-91bc-ac26e5ad6f9b\",\n                    \"name\": \"Sample-jkpd86441083\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_enabled\": true\n            }\n        ],\n        \"priced_services\": [],\n        \"packages\": [],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [\n            {\n                \"id\": \"01a17207-d184-7146-a62a-bf43c62e475e\",\n                \"action\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"from_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"to_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"reason\": \"Approval documents: 3 qualifying; 3 newly verified.\",\n                \"actor\": {\n                    \"id\": \"01a17207-d134-7058-9a08-7ed44598a4e1\",\n                    \"full_name\": \"Desmond Farrell Jr.\"\n                },\n                \"created_at\": \"2026-10-25T07:47:57+00:00\"\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:47:57+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Approved registration categories in provider details",
                                            "_joshen": {
                                                "route": "admin.providers.show",
                                                "name": "Approved registration categories in provider details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-d127-709b-a59d-03077a442408",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_prov_003_account_approval_reviews_registration_categories_atomically"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-d127-709b-a59d-03077a442408",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-d127-709b-a59d-03077a442408"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-d127-709b-a59d-03077a442408\",\n        \"display_name\": \"Prof. Neal DuBuque\",\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"phone_code\": \"966\",\n        \"phone\": \"508432825\",\n        \"city\": null,\n        \"service_radius_km\": 10,\n        \"districts_count\": 0,\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"is_featured\": false,\n        \"featured_status\": {\n            \"value\": \"not_subscribed\",\n            \"label\": \"Not subscribed\"\n        },\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_orders_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:47:57+00:00\",\n        \"created_at\": \"2026-10-25T07:47:57+00:00\",\n        \"user_id\": \"01a17207-d127-709b-a59d-03077a917523\",\n        \"bio\": null,\n        \"professional_title\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"authorized_person\": {\n            \"name\": null,\n            \"phone\": null\n        },\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": \"2026-10-25T07:47:57+00:00\",\n        \"approved_by\": \"01a17207-d134-7058-9a08-7ed44598a4e1\",\n        \"instant_terms_ack_at\": null,\n        \"coverage\": {\n            \"base_lat\": null,\n            \"base_lng\": null,\n            \"service_radius_km\": 10,\n            \"districts\": []\n        },\n        \"image\": null,\n        \"portfolio\": [],\n        \"working_hours\": [],\n        \"time_off\": [],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-d131-706d-9b69-d077ba55ea4c\",\n                \"type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-d12f-71e4-a769-c3372418e2c3\",\n                \"type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-d12d-7234-8a70-3a8a9c45e445\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"main_services\": [\n            {\n                \"id\": \"01a17207-d139-71cf-a916-3a3ecd6d0c79\",\n                \"category\": {\n                    \"id\": \"01a17207-d139-71cf-a916-3a3ecda914d6\",\n                    \"name\": \"Sample-ifio23677704\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_enabled\": true\n            },\n            {\n                \"id\": \"01a17207-d13e-72d9-bfad-40a853b9c97d\",\n                \"category\": {\n                    \"id\": \"01a17207-d13e-72d9-bfad-40a853e69938\",\n                    \"name\": \"Sample-dlau61602357\"\n                },\n                \"status\": {\n                    \"value\": \"rejected\",\n                    \"label\": \"Rejected\"\n                },\n                \"is_enabled\": true\n            },\n            {\n                \"id\": \"01a17207-d141-7181-91bc-ac26e550ba79\",\n                \"category\": {\n                    \"id\": \"01a17207-d141-7181-91bc-ac26e5ad6f9b\",\n                    \"name\": \"Sample-jkpd86441083\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_enabled\": true\n            }\n        ],\n        \"priced_services\": [],\n        \"packages\": [],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [\n            {\n                \"id\": \"01a17207-d184-7146-a62a-bf43c62e475e\",\n                \"action\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"from_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"to_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"reason\": \"Approval documents: 3 qualifying; 3 newly verified.\",\n                \"actor\": {\n                    \"id\": \"01a17207-d134-7058-9a08-7ed44598a4e1\",\n                    \"full_name\": \"Desmond Farrell Jr.\"\n                },\n                \"created_at\": \"2026-10-25T07:47:57+00:00\"\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:47:57+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider Details Full",
                                            "_joshen": {
                                                "route": "admin.providers.show",
                                                "name": "Provider Details Full",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-c3dd-7033-9489-2242cc1d08dc",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_details_and_masking"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-c3dd-7033-9489-2242cc1d08dc",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-c3dd-7033-9489-2242cc1d08dc"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-c3dd-7033-9489-2242cc1d08dc\",\n        \"display_name\": \"Miss Priscilla Rogahn V\",\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"phone_code\": \"966\",\n        \"phone\": \"587658428\",\n        \"city\": {\n            \"id\": \"01a17207-c3d7-72bd-8eeb-1321beedc484\",\n            \"name\": \"Riyadh\"\n        },\n        \"service_radius_km\": 10,\n        \"districts_count\": 1,\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"is_featured\": false,\n        \"featured_status\": {\n            \"value\": \"not_subscribed\",\n            \"label\": \"Not subscribed\"\n        },\n        \"rating_avg\": \"4.50\",\n        \"rating_count\": 7,\n        \"completed_orders_count\": 9,\n        \"submitted_at\": \"2026-10-25T07:47:53+00:00\",\n        \"created_at\": \"2026-10-25T07:47:53+00:00\",\n        \"user_id\": \"01a17207-c3dd-7033-9489-2242cc2f8349\",\n        \"bio\": null,\n        \"professional_title\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"authorized_person\": {\n            \"name\": null,\n            \"phone\": null\n        },\n        \"national_id\": \"****7890\",\n        \"commercial_register_no\": null,\n        \"vat_number\": \"****9003\",\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": null,\n        \"approved_by\": null,\n        \"instant_terms_ack_at\": null,\n        \"coverage\": {\n            \"base_lat\": null,\n            \"base_lng\": null,\n            \"service_radius_km\": 10,\n            \"districts\": [\n                {\n                    \"id\": \"01a17207-c3e5-72ee-ad87-8267722aab78\",\n                    \"name\": \"Sample-wjmt50280117\"\n                }\n            ]\n        },\n        \"image\": null,\n        \"portfolio\": [],\n        \"working_hours\": [\n            {\n                \"id\": \"01a17207-c3e9-73c9-af5a-305467ebf7fa\",\n                \"weekday\": 1,\n                \"start_time\": \"09:00:00\",\n                \"end_time\": \"17:00:00\"\n            }\n        ],\n        \"time_off\": [\n            {\n                \"id\": \"01a17207-c3ea-7011-b2cf-5c426cfcf70a\",\n                \"starts_at\": \"2026-10-26T07:47:53+00:00\",\n                \"ends_at\": \"2026-10-26T08:47:53+00:00\",\n                \"reason\": null\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-c3e4-7339-b26e-206f6d48e8f9\",\n                \"type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-c3e2-7191-b986-12541a4bcc0f\",\n                \"type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-c3e0-73e8-abe9-497682fae29f\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"main_services\": [\n            {\n                \"id\": \"01a17207-c3f0-7321-ba47-9356eeac6b30\",\n                \"category\": {\n                    \"id\": \"01a17207-c3eb-71fd-956b-4beb1e75a585\",\n                    \"name\": \"Sample-tvfm92529747\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_enabled\": true\n            }\n        ],\n        \"priced_services\": [\n            {\n                \"id\": \"01a17207-c3f1-701a-99f7-f8c0d477ad86\",\n                \"service\": {\n                    \"id\": \"01a17207-c3eb-71fd-956b-4beb1e0d80bd\",\n                    \"name\": \"Sample-irnp58160116\"\n                },\n                \"price\": \"100.00\",\n                \"min_price\": \"10.00\",\n                \"max_price\": \"200.00\",\n                \"out_of_range\": false,\n                \"duration_min\": null,\n                \"is_active\": true\n            }\n        ],\n        \"packages\": [\n            {\n                \"id\": \"01a17207-c3f3-73b8-be50-acb867b004e4\",\n                \"name\": \"Sample-sjjj97692232\",\n                \"status\": {\n                    \"value\": \"draft\",\n                    \"label\": \"Draft\"\n                },\n                \"price\": \"200.00\",\n                \"validity_days\": 30,\n                \"is_visible\": true,\n                \"hidden_by_admin\": false\n            }\n        ],\n        \"payout_account\": {\n            \"id\": \"01a17207-c3f6-7029-aa00-26bc1724e998\",\n            \"holder_name\": \"qyjirmrvbzsu\",\n            \"bank_name\": \"ecstfbowukld\",\n            \"iban\": \"****9012\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            }\n        },\n        \"change_requests\": [\n            {\n                \"id\": \"01a17207-c3f7-70df-8202-38caaecaf4e9\",\n                \"change_type\": {\n                    \"value\": \"profile\",\n                    \"label\": \"Profile\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"created_at\": \"2026-10-25T07:47:53+00:00\"\n            }\n        ],\n        \"review_history\": [],\n        \"updated_at\": \"2026-10-25T07:47:53+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider Review History",
                                            "_joshen": {
                                                "route": "admin.providers.show",
                                                "name": "Provider Review History",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-add7-7110-ab72-9338d2079897",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_review_cycle_is_profile_scoped_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-add7-7110-ab72-9338d2079897",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-add7-7110-ab72-9338d2079897"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-add7-7110-ab72-9338d2079897\",\n        \"display_name\": \"Dr. Kris Waters I\",\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"phone_code\": \"966\",\n        \"phone\": \"583906757\",\n        \"city\": null,\n        \"service_radius_km\": 10,\n        \"districts_count\": 0,\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"is_featured\": false,\n        \"featured_status\": {\n            \"value\": \"not_subscribed\",\n            \"label\": \"Not subscribed\"\n        },\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_orders_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:47:48+00:00\",\n        \"created_at\": \"2026-10-25T07:47:48+00:00\",\n        \"user_id\": \"01a17207-add7-7110-ab72-9338d29a9b73\",\n        \"bio\": null,\n        \"professional_title\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"authorized_person\": {\n            \"name\": null,\n            \"phone\": null\n        },\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": \"2026-10-25T07:47:48+00:00\",\n        \"approved_by\": \"01a17207-ade3-72cc-b318-a69233cdcf43\",\n        \"instant_terms_ack_at\": null,\n        \"coverage\": {\n            \"base_lat\": null,\n            \"base_lng\": null,\n            \"service_radius_km\": 10,\n            \"districts\": []\n        },\n        \"image\": null,\n        \"portfolio\": [],\n        \"working_hours\": [],\n        \"time_off\": [],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-addf-711d-9a6c-579e70466e1c\",\n                \"type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-adde-7077-8f17-01064447b59b\",\n                \"type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-addc-7079-9ba9-28006f8b3dc0\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"main_services\": [],\n        \"priced_services\": [],\n        \"packages\": [],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [\n            {\n                \"id\": \"01a17207-ae0d-736d-b075-05f7bfbc66d8\",\n                \"action\": {\n                    \"value\": \"reactivated\",\n                    \"label\": \"Reactivated\"\n                },\n                \"from_status\": {\n                    \"value\": \"suspended\",\n                    \"label\": \"Suspended\"\n                },\n                \"to_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"reason\": \"Reviewed again\",\n                \"actor\": {\n                    \"id\": \"01a17207-ade3-72cc-b318-a69233cdcf43\",\n                    \"full_name\": \"Ms. Jaqueline Kshlerin DDS\"\n                },\n                \"created_at\": \"2026-10-25T07:47:48+00:00\"\n            },\n            {\n                \"id\": \"01a17207-ae02-72af-88a3-14dd5d735c88\",\n                \"action\": {\n                    \"value\": \"suspended\",\n                    \"label\": \"Suspended\"\n                },\n                \"from_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"to_status\": {\n                    \"value\": \"suspended\",\n                    \"label\": \"Suspended\"\n                },\n                \"reason\": \"Compliance review\",\n                \"actor\": {\n                    \"id\": \"01a17207-ade3-72cc-b318-a69233cdcf43\",\n                    \"full_name\": \"Ms. Jaqueline Kshlerin DDS\"\n                },\n                \"created_at\": \"2026-10-25T07:47:48+00:00\"\n            },\n            {\n                \"id\": \"01a17207-adf5-702a-a900-bffdd229f408\",\n                \"action\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"from_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"to_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"reason\": \"Approval documents: 3 qualifying; 3 newly verified.\",\n                \"actor\": {\n                    \"id\": \"01a17207-ade3-72cc-b318-a69233cdcf43\",\n                    \"full_name\": \"Ms. Jaqueline Kshlerin DDS\"\n                },\n                \"created_at\": \"2026-10-25T07:47:48+00:00\"\n            },\n            {\n                \"id\": \"01a17207-ae16-7187-9b7b-c90dad236ce5\",\n                \"action\": {\n                    \"value\": \"submitted\",\n                    \"label\": \"Submitted\"\n                },\n                \"from_status\": null,\n                \"to_status\": null,\n                \"reason\": null,\n                \"actor\": null,\n                \"created_at\": \"2026-10-24T07:47:48+00:00\"\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:47:48+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider Show",
                                            "_joshen": {
                                                "route": "admin.providers.show",
                                                "name": "Provider Show",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-9a17-734d-ae13-41cfe3ba34e7",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-9a17-734d-ae13-41cfe3ba34e7",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-9a17-734d-ae13-41cfe3ba34e7"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-9a17-734d-ae13-41cfe3ba34e7\",\n        \"display_name\": \"Dr. Layla McKenzie Sr.\",\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"phone_code\": \"966\",\n        \"phone\": \"579802042\",\n        \"city\": null,\n        \"service_radius_km\": 10,\n        \"districts_count\": 0,\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"is_featured\": false,\n        \"featured_status\": {\n            \"value\": \"not_subscribed\",\n            \"label\": \"Not subscribed\"\n        },\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_orders_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:47:43+00:00\",\n        \"created_at\": \"2026-10-25T07:47:43+00:00\",\n        \"user_id\": \"01a17207-9a17-734d-ae13-41cfe48921b5\",\n        \"bio\": null,\n        \"professional_title\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"authorized_person\": {\n            \"name\": null,\n            \"phone\": null\n        },\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": null,\n        \"approved_by\": null,\n        \"instant_terms_ack_at\": null,\n        \"coverage\": {\n            \"base_lat\": null,\n            \"base_lng\": null,\n            \"service_radius_km\": 10,\n            \"districts\": []\n        },\n        \"image\": null,\n        \"portfolio\": [],\n        \"working_hours\": [],\n        \"time_off\": [],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-9a2d-71ab-93bb-5f438ea1ad36\",\n                \"type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-9a2b-7060-a090-9854af0581a4\",\n                \"type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-9a28-737e-80c2-835165b7bcd2\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"main_services\": [],\n        \"priced_services\": [],\n        \"packages\": [],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [],\n        \"updated_at\": \"2026-10-25T07:47:43+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider Verified Details",
                                            "_joshen": {
                                                "route": "admin.providers.show",
                                                "name": "Provider Verified Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-cee1-710f-a577-b1fa5a60625a",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_approval_verifies_only_qualifying_documents"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cee1-710f-a577-b1fa5a60625a",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cee1-710f-a577-b1fa5a60625a"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-cee1-710f-a577-b1fa5a60625a\",\n        \"display_name\": \"Dina Blanda\",\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"phone_code\": \"966\",\n        \"phone\": \"558295032\",\n        \"city\": null,\n        \"service_radius_km\": 10,\n        \"districts_count\": 0,\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"is_featured\": false,\n        \"featured_status\": {\n            \"value\": \"not_subscribed\",\n            \"label\": \"Not subscribed\"\n        },\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_orders_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:47:56+00:00\",\n        \"created_at\": \"2026-10-25T07:47:56+00:00\",\n        \"user_id\": \"01a17207-cee2-725f-947a-112b2b3cd038\",\n        \"bio\": null,\n        \"professional_title\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"authorized_person\": {\n            \"name\": null,\n            \"phone\": null\n        },\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": \"2026-10-25T07:47:56+00:00\",\n        \"approved_by\": \"01a17207-cef0-734b-8fc6-99e7c0ea61c1\",\n        \"instant_terms_ack_at\": null,\n        \"coverage\": {\n            \"base_lat\": null,\n            \"base_lng\": null,\n            \"service_radius_km\": 10,\n            \"districts\": []\n        },\n        \"image\": null,\n        \"portfolio\": [],\n        \"working_hours\": [],\n        \"time_off\": [],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-cf0f-7212-82ac-aac85191902a\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": null\n            },\n            {\n                \"id\": \"01a17207-cf08-7144-9223-97445d686017\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": \"2026-10-24\",\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-cf06-71bc-8de7-830916f7c651\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"replaced\",\n                    \"label\": \"Replaced\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-cf02-721f-b103-012db3d7c01e\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"expired\",\n                    \"label\": \"Expired\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-cefe-7153-89d6-dade40cde6db\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"rejected\",\n                    \"label\": \"Rejected\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-cefa-717c-b4ee-cfc401330733\",\n                \"type\": {\n                    \"value\": \"other\",\n                    \"label\": \"Other\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-ceed-70f9-885f-fad26e3de703\",\n                \"type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-ceea-7351-998c-93f4b67fd247\",\n                \"type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-cee7-7058-9b47-f26d7bcb5f86\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"main_services\": [],\n        \"priced_services\": [],\n        \"packages\": [],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [\n            {\n                \"id\": \"01a17207-cf25-700a-9bb0-02714f8bd96e\",\n                \"action\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"from_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"to_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"reason\": \"Approval documents: 3 qualifying; 2 newly verified.\",\n                \"actor\": {\n                    \"id\": \"01a17207-cef0-734b-8fc6-99e7c0ea61c1\",\n                    \"full_name\": \"Mr. Cale Stiedemann\"\n                },\n                \"created_at\": \"2026-10-25T07:47:56+00:00\"\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:47:56+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "provider_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Approve",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/approve",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "approve"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.approve`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Approve provider and requested registration categories\n- `200` Provider Action Approve\n- `200` Provider Approve\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Provider Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n- `422` Provider Missing Documents — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Provider Missing Localized Ar — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Provider Missing Localized En — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-d127-709b-a59d-03077a442408\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:57+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Approve provider and requested registration categories",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Approve provider and requested registration categories",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-d127-709b-a59d-03077a442408/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_prov_003_account_approval_reviews_registration_categories_atomically"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-d127-709b-a59d-03077a442408/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-d127-709b-a59d-03077a442408",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-d127-709b-a59d-03077a442408\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:57+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider Action Approve",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Provider Action Approve",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-add7-7110-ab72-9338d2079897/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_review_cycle_is_profile_scoped_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-add7-7110-ab72-9338d2079897/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-add7-7110-ab72-9338d2079897",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-add7-7110-ab72-9338d2079897\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:48+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider Approve",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Provider Approve",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-9cfe-71b9-b09c-b5ea048298be/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-9cfe-71b9-b09c-b5ea048298be/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-9cfe-71b9-b09c-b5ea048298be",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-9cfe-71b9-b09c-b5ea048298be\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:44+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Provider Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-ba89-71da-9c0f-5875f8c06870/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-ba89-71da-9c0f-5875f8c06870/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-ba89-71da-9c0f-5875f8c06870",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Approve from Suspended.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"062f143d-1a18-455a-a865-64decba8189f\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Provider Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ اعتماد من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"286d2805-a553-4f70-a27c-0645233a4e57\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Provider Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Approve from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"36877e9c-3dcb-4d43-aefa-bfd88dc396f7\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider Missing Documents",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Provider Missing Documents",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-bbac-72b3-b820-a5e68aea3a9d/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_approval_prerequisites"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-bbac-72b3-b820-a5e68aea3a9d/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-bbac-72b3-b820-a5e68aea3a9d",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Approval requires: Account submission, National ID / iqama, Professional certificate, Health certificate.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Approval requires: Account submission, National ID / iqama, Professional certificate, Health certificate.\"\n            ]\n        },\n        \"correlation_id\": \"57f463eb-5d01-41da-8dfa-710bcdb2dfdc\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider Missing Localized Ar",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Provider Missing Localized Ar",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/providers/01a17207-ccca-7030-a6d4-4ee92721a21c/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_missing_prerequisites_are_localized"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-ccca-7030-a6d4-4ee92721a21c/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-ccca-7030-a6d4-4ee92721a21c",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الموافقة تتطلب: تقديم الحساب للمراجعة, هوية / إقامة, شهادة مهنية, شهادة صحية.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"الموافقة تتطلب: تقديم الحساب للمراجعة, هوية / إقامة, شهادة مهنية, شهادة صحية.\"\n            ]\n        },\n        \"correlation_id\": \"f03f930d-028d-45a0-b10a-d3bb6c5a8243\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider Missing Localized En",
                                            "_joshen": {
                                                "route": "admin.providers.approve",
                                                "name": "Provider Missing Localized En",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-ccca-7030-a6d4-4ee92721a21c/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_missing_prerequisites_are_localized"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-ccca-7030-a6d4-4ee92721a21c/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-ccca-7030-a6d4-4ee92721a21c",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Approval requires: Account submission, National ID / iqama, Professional certificate, Health certificate.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Approval requires: Account submission, National ID / iqama, Professional certificate, Health certificate.\"\n            ]\n        },\n        \"correlation_id\": \"53fefc90-71f6-48d1-9a3b-35b510fe6205\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Please upload a clear photo of your national ID`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Provider Reject\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Provider Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n- `422` Reason longer than 500 characters\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-9e49-7315-82e1-8ead6a1d5d22\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider Reject",
                                            "_joshen": {
                                                "route": "admin.providers.reject",
                                                "name": "Provider Reject",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-9e49-7315-82e1-8ead6a1d5d22/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Please correct the documents"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-9e49-7315-82e1-8ead6a1d5d22/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-9e49-7315-82e1-8ead6a1d5d22",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please correct the documents\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-9e49-7315-82e1-8ead6a1d5d22\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.providers.reject",
                                                "name": "Provider Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-b2e7-7149-a0b2-2e974716bc7d/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-b2e7-7149-a0b2-2e974716bc7d/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-b2e7-7149-a0b2-2e974716bc7d",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Reject from Approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"8e2f3e8c-90cc-4b4f-bfab-a12ee017df95\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.providers.reject",
                                                "name": "Provider Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ رفض من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"36363356-859b-4db1-a5b2-21de2d40118d\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.providers.reject",
                                                "name": "Provider Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Reject from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"948f4132-0928-4c42-8b5a-39697fc595c9\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Reason longer than 500 characters",
                                            "_joshen": {
                                                "route": "admin.providers.reject",
                                                "name": "Reason longer than 500 characters",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-c9fb-7092-b337-f1294e8fd940/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_invalid_queries_and_reasons"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-c9fb-7092-b337-f1294e8fd940/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-c9fb-7092-b337-f1294e8fd940",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Request Changes",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/request-changes",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "request-changes"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.request-changes`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Please upload a clear photo of your national ID`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Provider Request Changes\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Provider Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n- `422` Reason longer than 500 characters\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-9f7c-7068-b5f1-6998eec31de9\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider Request Changes",
                                            "_joshen": {
                                                "route": "admin.providers.request-changes",
                                                "name": "Provider Request Changes",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-9f7c-7068-b5f1-6998eec31de9/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Please correct the documents"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-9f7c-7068-b5f1-6998eec31de9/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-9f7c-7068-b5f1-6998eec31de9",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please correct the documents\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-9f7c-7068-b5f1-6998eec31de9\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.providers.request-changes",
                                                "name": "Provider Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-b420-7109-8eac-f3004ec4268b/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-b420-7109-8eac-f3004ec4268b/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-b420-7109-8eac-f3004ec4268b",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Request changes from Approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"ee2a60f8-d648-4ce0-8ed7-e3ff912b1ecc\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.providers.request-changes",
                                                "name": "Provider Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ طلب تعديلات من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"a3cadc9c-7441-4b97-a005-feb74bf7153f\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.providers.request-changes",
                                                "name": "Provider Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Request changes from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"710f871b-0265-48bc-b995-25a0c09d68db\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Reason longer than 500 characters",
                                            "_joshen": {
                                                "route": "admin.providers.request-changes",
                                                "name": "Reason longer than 500 characters",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-ca12-722e-bbf9-79aa4c1001e5/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_invalid_queries_and_reasons"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-ca12-722e-bbf9-79aa4c1001e5/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-ca12-722e-bbf9-79aa4c1001e5",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Suspend",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/suspend",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "suspend"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.suspend`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Please upload a clear photo of your national ID`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Provider Action Suspend\n- `200` Provider Suspend\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Provider Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n- `422` Reason longer than 500 characters\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-add7-7110-ab72-9338d2079897\",\n        \"account_status\": {\n            \"value\": \"suspended\",\n            \"label\": \"Suspended\"\n        },\n        \"status_reason\": \"Compliance review\",\n        \"approved_at\": \"2026-10-25T07:47:48+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider Action Suspend",
                                            "_joshen": {
                                                "route": "admin.providers.suspend",
                                                "name": "Provider Action Suspend",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-add7-7110-ab72-9338d2079897/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Compliance review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_review_cycle_is_profile_scoped_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-add7-7110-ab72-9338d2079897/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-add7-7110-ab72-9338d2079897",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Compliance review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-add7-7110-ab72-9338d2079897\",\n        \"account_status\": {\n            \"value\": \"suspended\",\n            \"label\": \"Suspended\"\n        },\n        \"status_reason\": \"Compliance review\",\n        \"approved_at\": \"2026-10-25T07:47:48+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider Suspend",
                                            "_joshen": {
                                                "route": "admin.providers.suspend",
                                                "name": "Provider Suspend",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-a0ca-724c-8a36-9a4912326628/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Please correct the documents"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-a0ca-724c-8a36-9a4912326628/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-a0ca-724c-8a36-9a4912326628",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please correct the documents\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-a0ca-724c-8a36-9a4912326628\",\n        \"account_status\": {\n            \"value\": \"suspended\",\n            \"label\": \"Suspended\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "suspend"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "suspend"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "suspend"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.providers.suspend",
                                                "name": "Provider Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-b57b-7340-9b38-e79c946cbe51/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-b57b-7340-9b38-e79c946cbe51/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-b57b-7340-9b38-e79c946cbe51",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Suspend from Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"c92e72be-6dff-488c-b030-1551629f8d20\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.providers.suspend",
                                                "name": "Provider Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ إيقاف من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"21116bb0-cbc3-4c53-9d52-5862882f007b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.providers.suspend",
                                                "name": "Provider Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Suspend from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"a49c6ddc-1fc1-4a0f-995e-c03eb2fdf003\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Reason longer than 500 characters",
                                            "_joshen": {
                                                "route": "admin.providers.suspend",
                                                "name": "Reason longer than 500 characters",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-ca27-7117-961a-3d7757f9ce86/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_invalid_queries_and_reasons"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-ca27-7117-961a-3d7757f9ce86/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-ca27-7117-961a-3d7757f9ce86",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reactivate",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/reactivate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "reactivate"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.reactivate`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Reviewed again after the appeal`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Provider Action Reactivate\n- `200` Provider Reactivate\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Provider Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Provider Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-add7-7110-ab72-9338d2079897\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:48+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider Action Reactivate",
                                            "_joshen": {
                                                "route": "admin.providers.reactivate",
                                                "name": "Provider Action Reactivate",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-add7-7110-ab72-9338d2079897/reactivate",
                                                    "query": null,
                                                    "body": {
                                                        "note": "Reviewed again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_review_cycle_is_profile_scoped_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-add7-7110-ab72-9338d2079897/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-add7-7110-ab72-9338d2079897",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-add7-7110-ab72-9338d2079897\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:48+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider Reactivate",
                                            "_joshen": {
                                                "route": "admin.providers.reactivate",
                                                "name": "Provider Reactivate",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-a20f-717a-ab49-0535d1550a3b/reactivate",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-a20f-717a-ab49-0535d1550a3b/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-a20f-717a-ab49-0535d1550a3b",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-a20f-717a-ab49-0535d1550a3b\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "reactivate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "reactivate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "reactivate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.providers.reactivate",
                                                "name": "Provider Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-b69b-71b8-850e-1b03b8fc11e4/reactivate",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-b69b-71b8-850e-1b03b8fc11e4/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-b69b-71b8-850e-1b03b8fc11e4",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Reactivate from Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"178655d9-c638-4c6a-9f7e-b6043aa2a048\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.providers.reactivate",
                                                "name": "Provider Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/reactivate",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ إعادة تفعيل من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"f7ff1c30-04e7-46d6-904a-49a779724e40\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Provider Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.providers.reactivate",
                                                "name": "Provider Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/reactivate",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ProviderManagementTest::test_ac_admin_004_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a17207-cb58-7135-a420-db4441bbfdbb/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a17207-cb58-7135-a420-db4441bbfdbb",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Reactivate from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"71270480-f3c0-4e42-93ca-bd5c47d2f37b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "reactivate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"change_request_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "change-requests"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "pending",
                                                    "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[change_type]",
                                                    "value": "work_area",
                                                    "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.change-requests.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled` (optional)\n- `filters[change_type]` — Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document` (optional)\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `change_request_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Admin lists an account's requests\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-b83c-724e-aac6-ebeb8052cd14\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": {\n                            \"id\": \"01a1c4e0-b810-71f0-8c15-ad69d6179e04\",\n                            \"name\": \"Sample-fdjx65435738\"\n                        },\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-b827-715e-b24e-1f791fe80879\",\n                            \"name\": \"Sample-yxtp25602687\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [\n                            {\n                                \"id\": \"01a1c4e0-b818-70c0-8c28-b8e4bfac42a1\",\n                                \"name\": \"Sample-lkoc16333579\"\n                            }\n                        ],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-b82b-7362-8d24-3cb2905be804\",\n                                \"name\": \"Sample-oazi76738353\"\n                            }\n                        ]\n                    },\n                    {\n                        \"field\": \"service_radius_km\",\n                        \"label\": \"Service radius (km)\",\n                        \"current\": 10,\n                        \"proposed\": 20\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": \"Checked\",\n                \"can_cancel\": false,\n                \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n                \"reviewed_at\": \"2026-11-10T09:53:44+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Admin lists an account's requests",
                                            "_joshen": {
                                                "route": "admin.providers.change-requests.index",
                                                "name": "Admin lists an account's requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_approval_applies_exactly_what_was_submitted_notifies_her_and_is_idempotent"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a1c4e0-b81b-73f4-93b3-40df426fd1a4",
                                                        "change-requests"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-b83c-724e-aac6-ebeb8052cd14\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": {\n                            \"id\": \"01a1c4e0-b810-71f0-8c15-ad69d6179e04\",\n                            \"name\": \"Sample-fdjx65435738\"\n                        },\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-b827-715e-b24e-1f791fe80879\",\n                            \"name\": \"Sample-yxtp25602687\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [\n                            {\n                                \"id\": \"01a1c4e0-b818-70c0-8c28-b8e4bfac42a1\",\n                                \"name\": \"Sample-lkoc16333579\"\n                            }\n                        ],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-b82b-7362-8d24-3cb2905be804\",\n                                \"name\": \"Sample-oazi76738353\"\n                            }\n                        ]\n                    },\n                    {\n                        \"field\": \"service_radius_km\",\n                        \"label\": \"Service radius (km)\",\n                        \"current\": 10,\n                        \"proposed\": 20\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": \"Checked\",\n                \"can_cancel\": false,\n                \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n                \"reviewed_at\": \"2026-11-10T09:53:44+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "admin.providers.change-requests.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2/change-requests",
                                                    "query": {
                                                        "filters": {
                                                            "status": "bogus"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_rejection_needs_a_reason_leaves_the_data_and_notifies_her"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2/change-requests?filters[status]=bogus",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "bogus"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "change_request_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Approve",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"change_request_id\",\"Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests/:changeRequest/approve",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "change-requests",
                                                ":changeRequest",
                                                "approve"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                },
                                                {
                                                    "key": "changeRequest",
                                                    "value": "{{change_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.change-requests.approve`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `note`\n- **Description:** Optional note kept with the approval and shown to her. The request itself is never edited (TD-184).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Documents checked.`\n- **Validation rules:** `nullable|string|max:500`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{change_request_id}}` — Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Admin approves a change request\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Saved value changed since the request — `error_code: CHANGE_REQUEST_STALE`\n- `422` Note too long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b83c-724e-aac6-ebeb8052cd14\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b810-71f0-8c15-ad69d6179e04\",\n                    \"name\": \"Sample-fdjx65435738\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b827-715e-b24e-1f791fe80879\",\n                    \"name\": \"Sample-yxtp25602687\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b818-70c0-8c28-b8e4bfac42a1\",\n                        \"name\": \"Sample-lkoc16333579\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b82b-7362-8d24-3cb2905be804\",\n                        \"name\": \"Sample-oazi76738353\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": \"Checked\",\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n        \"reviewed_at\": \"2026-11-10T09:53:44+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"Documents checked.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Admin approves a change request",
                                            "_joshen": {
                                                "route": "admin.providers.change-requests.approve",
                                                "name": "Admin approves a change request",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests/01a1c4e0-b83c-724e-aac6-ebeb8052cd14/approve",
                                                    "query": null,
                                                    "body": {
                                                        "note": "Checked"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_approval_applies_exactly_what_was_submitted_notifies_her_and_is_idempotent"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests/01a1c4e0-b83c-724e-aac6-ebeb8052cd14/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a1c4e0-b81b-73f4-93b3-40df426fd1a4",
                                                        "change-requests",
                                                        "01a1c4e0-b83c-724e-aac6-ebeb8052cd14",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Checked\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b83c-724e-aac6-ebeb8052cd14\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b810-71f0-8c15-ad69d6179e04\",\n                    \"name\": \"Sample-fdjx65435738\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b827-715e-b24e-1f791fe80879\",\n                    \"name\": \"Sample-yxtp25602687\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b818-70c0-8c28-b8e4bfac42a1\",\n                        \"name\": \"Sample-lkoc16333579\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b82b-7362-8d24-3cb2905be804\",\n                        \"name\": \"Sample-oazi76738353\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": \"Checked\",\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n        \"reviewed_at\": \"2026-11-10T09:53:44+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests/:changeRequest/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Documents checked.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests/:changeRequest/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Documents checked.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests/:changeRequest/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Documents checked.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Saved value changed since the request",
                                            "_joshen": {
                                                "route": "admin.providers.change-requests.approve",
                                                "name": "Saved value changed since the request",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a1c4e0-bd5b-70a2-a701-3bde1f7585e6/change-requests/01a1c4e0-bd7b-729a-8766-e8196a772325/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_stale_request_is_refused_and_nothing_is_applied"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a1c4e0-bd5b-70a2-a701-3bde1f7585e6/change-requests/01a1c4e0-bd7b-729a-8766-e8196a772325/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a1c4e0-bd5b-70a2-a701-3bde1f7585e6",
                                                        "change-requests",
                                                        "01a1c4e0-bd7b-729a-8766-e8196a772325",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The saved value changed after this request was made, so it cannot be applied. Reject it with a note so the user can send a new one.\",\n    \"data\": {\n        \"error_code\": \"CHANGE_REQUEST_STALE\",\n        \"correlation_id\": \"d71813f7-f262-4522-96b8-4a3fb4a7cde4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Note too long",
                                            "_joshen": {
                                                "route": "admin.providers.change-requests.approve",
                                                "name": "Note too long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2/change-requests/01a1c4e0-bad1-72cd-a051-f78d34a3eb30/approve",
                                                    "query": null,
                                                    "body": {
                                                        "note": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_rejection_needs_a_reason_leaves_the_data_and_notifies_her"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2/change-requests/01a1c4e0-bad1-72cd-a051-f78d34a3eb30/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2",
                                                        "change-requests",
                                                        "01a1c4e0-bad1-72cd-a051-f78d34a3eb30",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The note field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"note\": [\n                \"The note field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "change_request_id",
                                                "set_by": [
                                                    "admin.providers.change-requests.index",
                                                    "admin.drivers.change-requests.index",
                                                    "provider.profile.change-requests.index",
                                                    "provider.profile.change-requests.store",
                                                    "provider.profile.change-requests.show",
                                                    "delivery.profile.change-requests.index",
                                                    "delivery.profile.change-requests.store",
                                                    "delivery.profile.change-requests.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"change_request_id\",\"Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests/:changeRequest/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "providers",
                                                ":id",
                                                "change-requests",
                                                ":changeRequest",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                },
                                                {
                                                    "key": "changeRequest",
                                                    "value": "{{change_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.providers.change-requests.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the request is refused, 3–500 characters; shown to her. A stale request is also rejected with a note so she can send a new one.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `The attached file is not readable.`\n- **Validation rules:** `required|string|min:3|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:3` — must be at least 3.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{change_request_id}}` — Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Admin rejects a change request\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Already decided — `error_code: INVALID_STATE_TRANSITION`\n- `422` Rejection without a reason\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-bad1-72cd-a051-f78d34a3eb30\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-baac-705e-b5a1-ad9faa049ec7\",\n                    \"name\": \"Sample-wvrm57687842\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-babd-726a-bde3-f1ed310d0c14\",\n                    \"name\": \"Sample-cfmg55668679\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-bab2-7142-93a2-9fd467185edb\",\n                        \"name\": \"Sample-wuzr95685113\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-bac1-7386-bed9-b54503e3b1a8\",\n                        \"name\": \"Sample-uwrn00157634\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": \"Unreadable file\",\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:44+00:00\",\n        \"reviewed_at\": \"2026-11-10T09:53:44+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"The attached file is not readable.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Admin rejects a change request",
                                            "_joshen": {
                                                "route": "admin.providers.change-requests.reject",
                                                "name": "Admin rejects a change request",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2/change-requests/01a1c4e0-bad1-72cd-a051-f78d34a3eb30/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Unreadable file"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_rejection_needs_a_reason_leaves_the_data_and_notifies_her"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2/change-requests/01a1c4e0-bad1-72cd-a051-f78d34a3eb30/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2",
                                                        "change-requests",
                                                        "01a1c4e0-bad1-72cd-a051-f78d34a3eb30",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Unreadable file\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-bad1-72cd-a051-f78d34a3eb30\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-baac-705e-b5a1-ad9faa049ec7\",\n                    \"name\": \"Sample-wvrm57687842\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-babd-726a-bde3-f1ed310d0c14\",\n                    \"name\": \"Sample-cfmg55668679\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-bab2-7142-93a2-9fd467185edb\",\n                        \"name\": \"Sample-wuzr95685113\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-bac1-7386-bed9-b54503e3b1a8\",\n                        \"name\": \"Sample-uwrn00157634\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": \"Unreadable file\",\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:44+00:00\",\n        \"reviewed_at\": \"2026-11-10T09:53:44+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests/:changeRequest/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The attached file is not readable.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests/:changeRequest/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The attached file is not readable.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/:id/change-requests/:changeRequest/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The attached file is not readable.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Already decided",
                                            "_joshen": {
                                                "route": "admin.providers.change-requests.reject",
                                                "name": "Already decided",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests/01a1c4e0-b83c-724e-aac6-ebeb8052cd14/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Too late"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_approval_applies_exactly_what_was_submitted_notifies_her_and_is_idempotent"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a1c4e0-b81b-73f4-93b3-40df426fd1a4/change-requests/01a1c4e0-b83c-724e-aac6-ebeb8052cd14/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a1c4e0-b81b-73f4-93b3-40df426fd1a4",
                                                        "change-requests",
                                                        "01a1c4e0-b83c-724e-aac6-ebeb8052cd14",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Too late\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This request has already been decided.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"d8f22130-61e4-4639-994f-c3cf6732e73f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Rejection without a reason",
                                            "_joshen": {
                                                "route": "admin.providers.change-requests.reject",
                                                "name": "Rejection without a reason",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/providers/01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2/change-requests/01a1c4e0-bad1-72cd-a051-f78d34a3eb30/reject",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_rejection_needs_a_reason_leaves_the_data_and_notifies_her"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/providers/01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2/change-requests/01a1c4e0-bad1-72cd-a051-f78d34a3eb30/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "providers",
                                                        "01a1c4e0-bab4-72de-a7d7-91a0a4f40aa2",
                                                        "change-requests",
                                                        "01a1c4e0-bad1-72cd-a051-f78d34a3eb30",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "change_request_id",
                                                "set_by": [
                                                    "admin.providers.change-requests.index",
                                                    "admin.drivers.change-requests.index",
                                                    "provider.profile.change-requests.index",
                                                    "provider.profile.change-requests.store",
                                                    "provider.profile.change-requests.show",
                                                    "delivery.profile.change-requests.index",
                                                    "delivery.profile.change-requests.store",
                                                    "delivery.profile.change-requests.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Drivers",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"driver_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "value",
                                                    "description": "Partial match on driver name, phone or vehicle plate; never identity numbers (TD-54). — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[notification_reachable]",
                                                    "value": "1",
                                                    "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[account_status]",
                                                    "value": "incomplete",
                                                    "description": "Review status of the driver profile (BR-03). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[city_id]",
                                                    "value": "{{governorate_id}}",
                                                    "description": "Driver city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_online]",
                                                    "value": "1",
                                                    "description": "Saved online flag: 1 online, 0 offline; not proof of operational eligibility. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "asc",
                                                    "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[submitted_at]",
                                                    "value": "asc",
                                                    "description": "Order by review submission time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[rating_avg]",
                                                    "value": "asc",
                                                    "description": "Order by saved average rating. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[completed_trips_count]",
                                                    "value": "asc",
                                                    "description": "Order by saved completed-trip count. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2024-01-01",
                                                    "description": "Registration on or after this UTC date, inclusive. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2024-01-01",
                                                    "description": "Registration on or before this UTC date, inclusive; not before created_from. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[submitted_from]",
                                                    "value": "2024-01-01",
                                                    "description": "Review submission on or after this UTC date, inclusive. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[submitted_to]",
                                                    "value": "2024-01-01",
                                                    "description": "Review submission on or before this UTC date, inclusive; not before submitted_from. — `string (date)`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on driver name, phone or vehicle plate; never identity numbers (TD-54). — `string` (optional)\n- `filters[notification_reachable]` — General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean` (optional)\n- `filters[account_status]` — Review status of the driver profile (BR-03). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended` (optional)\n- `filters[city_id]` — Driver city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `filters[is_online]` — Saved online flag: 1 online, 0 offline; not proof of operational eligibility. — `boolean` (optional)\n- `sort[created_at]` — Order by registration time. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[submitted_at]` — Order by review submission time. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[rating_avg]` — Order by saved average rating. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[completed_trips_count]` — Order by saved completed-trip count. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `filters[created_from]` — Registration on or after this UTC date, inclusive. — `string (date)` (optional)\n- `filters[created_to]` — Registration on or before this UTC date, inclusive; not before created_from. — `string (date)` (optional)\n- `filters[submitted_from]` — Review submission on or after this UTC date, inclusive. — `string (date)` (optional)\n- `filters[submitted_to]` — Review submission on or before this UTC date, inclusive; not before submitted_from. — `string (date)` (optional)\n\n**Variables:**\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `driver_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Driver Index\n- `200` Reachable general notification recipients\n- `200` Reachable recipients dropdown\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Driver Invalid City\n- `422` Driver Invalid Sort\n- `422` Invalid notification reachability filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"drivers\": [\n            {\n                \"id\": \"01a17207-4536-7377-9eae-4e1ec9bce281\",\n                \"full_name\": \"Jeanie Emmerich\",\n                \"phone_code\": \"966\",\n                \"phone\": \"560193292\",\n                \"nationality\": null,\n                \"city\": null,\n                \"districts_count\": 0,\n                \"vehicle\": {\n                    \"id\": \"01a17207-4545-7207-99fb-9e0c62cd65a0\",\n                    \"type\": {\n                        \"value\": \"car\",\n                        \"label\": \"Car\"\n                    },\n                    \"make_model\": \"Toyota Yaris\",\n                    \"model_year\": null,\n                    \"color\": null,\n                    \"plate_number\": \"CAR-thkz80713973\",\n                    \"is_active\": true\n                },\n                \"account_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"is_online\": false,\n                \"location_updated_at\": null,\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_trips_count\": 0,\n                \"submitted_at\": \"2026-10-25T07:47:21+00:00\",\n                \"created_at\": \"2026-10-25T07:47:21+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/drivers?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/drivers?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/drivers?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/drivers\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Index",
                                            "_joshen": {
                                                "route": "admin.drivers.index",
                                                "name": "Driver Index",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"drivers\": [\n            {\n                \"id\": \"01a17207-4536-7377-9eae-4e1ec9bce281\",\n                \"full_name\": \"Jeanie Emmerich\",\n                \"phone_code\": \"966\",\n                \"phone\": \"560193292\",\n                \"nationality\": null,\n                \"city\": null,\n                \"districts_count\": 0,\n                \"vehicle\": {\n                    \"id\": \"01a17207-4545-7207-99fb-9e0c62cd65a0\",\n                    \"type\": {\n                        \"value\": \"car\",\n                        \"label\": \"Car\"\n                    },\n                    \"make_model\": \"Toyota Yaris\",\n                    \"model_year\": null,\n                    \"color\": null,\n                    \"plate_number\": \"CAR-thkz80713973\",\n                    \"is_active\": true\n                },\n                \"account_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"is_online\": false,\n                \"location_updated_at\": null,\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_trips_count\": 0,\n                \"submitted_at\": \"2026-10-25T07:47:21+00:00\",\n                \"created_at\": \"2026-10-25T07:47:21+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/drivers?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/drivers?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/drivers?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/drivers\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Reachable general notification recipients",
                                            "_joshen": {
                                                "route": "admin.drivers.index",
                                                "name": "Reachable general notification recipients",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers",
                                                    "query": {
                                                        "filters": {
                                                            "notification_reachable": "1"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_filters_match_general_notification_recipients"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers?filters[notification_reachable]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"drivers\": [\n            {\n                \"id\": \"01a1bb64-bea1-73a7-a66a-2131d989e548\",\n                \"full_name\": \"Shaina Hammes V\",\n                \"phone_code\": \"966\",\n                \"phone\": \"523394253\",\n                \"nationality\": null,\n                \"city\": null,\n                \"districts_count\": 0,\n                \"vehicle\": null,\n                \"account_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_online\": false,\n                \"location_updated_at\": null,\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_trips_count\": 0,\n                \"submitted_at\": null,\n                \"created_at\": \"2026-11-08T13:41:44+00:00\"\n            },\n            {\n                \"id\": \"01a1bb64-be9c-71f7-9d8a-553aa39472dd\",\n                \"full_name\": \"Nikolas Rice\",\n                \"phone_code\": \"966\",\n                \"phone\": \"513194099\",\n                \"nationality\": null,\n                \"city\": null,\n                \"districts_count\": 0,\n                \"vehicle\": null,\n                \"account_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"is_online\": false,\n                \"location_updated_at\": null,\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_trips_count\": 0,\n                \"submitted_at\": null,\n                \"created_at\": \"2026-11-08T13:41:44+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/drivers?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/drivers?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/drivers?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/drivers\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Reachable recipients dropdown",
                                            "_joshen": {
                                                "route": "admin.drivers.index",
                                                "name": "Reachable recipients dropdown",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers",
                                                    "query": {
                                                        "paginate": "false",
                                                        "filters": {
                                                            "notification_reachable": true
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_filters_match_general_notification_recipients"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers?paginate=false&filters[notification_reachable]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bb64-bea1-73a7-a66a-2131d989e548\",\n            \"full_name\": \"Shaina Hammes V\",\n            \"phone_code\": \"966\",\n            \"phone\": \"523394253\",\n            \"nationality\": null,\n            \"city\": null,\n            \"districts_count\": 0,\n            \"vehicle\": null,\n            \"account_status\": {\n                \"value\": \"approved\",\n                \"label\": \"Approved\"\n            },\n            \"is_online\": false,\n            \"location_updated_at\": null,\n            \"rating_avg\": null,\n            \"rating_count\": 0,\n            \"completed_trips_count\": 0,\n            \"submitted_at\": null,\n            \"created_at\": \"2026-11-08T13:41:44+00:00\"\n        },\n        {\n            \"id\": \"01a1bb64-be9c-71f7-9d8a-553aa39472dd\",\n            \"full_name\": \"Nikolas Rice\",\n            \"phone_code\": \"966\",\n            \"phone\": \"513194099\",\n            \"nationality\": null,\n            \"city\": null,\n            \"districts_count\": 0,\n            \"vehicle\": null,\n            \"account_status\": {\n                \"value\": \"approved\",\n                \"label\": \"Approved\"\n            },\n            \"is_online\": false,\n            \"location_updated_at\": null,\n            \"rating_avg\": null,\n            \"rating_count\": 0,\n            \"completed_trips_count\": 0,\n            \"submitted_at\": null,\n            \"created_at\": \"2026-11-08T13:41:44+00:00\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "value",
                                                            "description": "Partial match on driver name, phone or vehicle plate; never identity numbers (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "incomplete",
                                                            "description": "Review status of the driver profile (BR-03). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Driver city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_online]",
                                                            "value": "1",
                                                            "description": "Saved online flag: 1 online, 0 offline; not proof of operational eligibility. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "asc",
                                                            "description": "Order by review submission time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[rating_avg]",
                                                            "value": "asc",
                                                            "description": "Order by saved average rating. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[completed_trips_count]",
                                                            "value": "asc",
                                                            "description": "Order by saved completed-trip count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or before this UTC date, inclusive; not before created_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Review submission on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Review submission on or before this UTC date, inclusive; not before submitted_from. — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "value",
                                                            "description": "Partial match on driver name, phone or vehicle plate; never identity numbers (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "incomplete",
                                                            "description": "Review status of the driver profile (BR-03). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Driver city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_online]",
                                                            "value": "1",
                                                            "description": "Saved online flag: 1 online, 0 offline; not proof of operational eligibility. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "asc",
                                                            "description": "Order by review submission time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[rating_avg]",
                                                            "value": "asc",
                                                            "description": "Order by saved average rating. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[completed_trips_count]",
                                                            "value": "asc",
                                                            "description": "Order by saved completed-trip count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or before this UTC date, inclusive; not before created_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Review submission on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Review submission on or before this UTC date, inclusive; not before submitted_from. — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "value",
                                                            "description": "Partial match on driver name, phone or vehicle plate; never identity numbers (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned, approved profile; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "incomplete",
                                                            "description": "Review status of the driver profile (BR-03). — `string (enum)`, one of: `incomplete`, `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Driver city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_online]",
                                                            "value": "1",
                                                            "description": "Saved online flag: 1 online, 0 offline; not proof of operational eligibility. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "asc",
                                                            "description": "Order by review submission time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[rating_avg]",
                                                            "value": "asc",
                                                            "description": "Order by saved average rating. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[completed_trips_count]",
                                                            "value": "asc",
                                                            "description": "Order by saved completed-trip count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or before this UTC date, inclusive; not before created_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Review submission on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Review submission on or before this UTC date, inclusive; not before submitted_from. — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver Invalid City",
                                            "_joshen": {
                                                "route": "admin.drivers.index",
                                                "name": "Driver Invalid City",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers",
                                                    "query": {
                                                        "filters": {
                                                            "city_id": "123"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_invalid_queries_and_reasons"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers?filters[city_id]=123",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "123"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.city_id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.city_id\": [\n                \"The filters.city_id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver Invalid Sort",
                                            "_joshen": {
                                                "route": "admin.drivers.index",
                                                "name": "Driver Invalid Sort",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers",
                                                    "query": {
                                                        "sort": {
                                                            "completed_trips_count": "sideways"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers?sort[completed_trips_count]=sideways",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "sort[completed_trips_count]",
                                                            "value": "sideways"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected sort.completed_trips_count is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"sort.completed_trips_count\": [\n                \"The selected sort.completed_trips_count is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid notification reachability filter",
                                            "_joshen": {
                                                "route": "admin.drivers.index",
                                                "name": "Invalid notification reachability filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers",
                                                    "query": {
                                                        "filters": {
                                                            "notification_reachable": "approved"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_composes_with_existing_filters_and_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers?filters[notification_reachable]=approved",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "approved"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.notification_reachable field must be true or false.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.notification_reachable\": [\n                \"The filters.notification_reachable field must be true or false.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "driver_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Identity",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/identity",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "identity"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.identity`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Driver Identity\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-6e89-71fe-8ce0-86adb0d2518f\",\n        \"national_id\": \"1234567890\",\n        \"documents\": [\n            {\n                \"id\": \"01a17207-6e94-7275-b8cb-f769a19446e1\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"FULL-DOCUMENT-12345\"\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Identity",
                                            "_joshen": {
                                                "route": "admin.drivers.identity",
                                                "name": "Driver Identity",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-6e89-71fe-8ce0-86adb0d2518f/identity",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_identity_read_is_audited_and_not_granted_by_view"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-6e89-71fe-8ce0-86adb0d2518f/identity",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-6e89-71fe-8ce0-86adb0d2518f",
                                                        "identity"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-6e89-71fe-8ce0-86adb0d2518f\",\n        \"national_id\": \"1234567890\",\n        \"documents\": [\n            {\n                \"id\": \"01a17207-6e94-7275-b8cb-f769a19446e1\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"FULL-DOCUMENT-12345\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/identity",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "identity"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/identity",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "identity"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/identity",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "identity"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Work Area",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/work-area",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "work-area"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.work-area`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `city_id`\n- **Description:** City (governorates = BRD city) the driver works in; must be an enabled service area. Omit to keep the saved one. The admin may change it in any status (she is the reviewer, TD-83).\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `sometimes|required|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `district_ids`\n- **Description:** Full list of coverage district uuids (regions); replaces the saved list, [] clears it. Each must be enabled and belong to the resulting city (BR-08). Trip requests outside them are not offered to her (ADMIN-021).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{region_id}}\"]`\n- **Validation rules:** `sometimes|array|list`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `district_ids.*`\n- **Description:** Coverage district uuid (regions).\n- **Type:** `string (uuid)`\n- **Refers to:** a `regions` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{region_id}}`\n- **Validation rules:** `required|distinct|uuid|exists:regions,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:regions,uuid` — must reference an existing record (regions, uuid).\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n\n**Responses:**\n- `200` Driver Work Area Set By Admin\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Driver Work Area Invalid Form\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a17247-37bf-721a-bbf1-b0fc9a1a3087\",\n            \"name\": \"Sample-vkjy79831042\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a17247-37c3-730f-bafe-f2a9fb3a3acb\",\n                \"name\": \"Sample-qzyp38409991\"\n            }\n        ],\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\"\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Work Area Set By Admin",
                                            "_joshen": {
                                                "route": "admin.drivers.work-area",
                                                "name": "Driver Work Area Set By Admin",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17247-37c5-720b-8335-1be649ba60d1/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a17247-37bf-721a-bbf1-b0fc9a1a3087",
                                                        "district_ids": [
                                                            "01a17247-37c3-730f-bafe-f2a9fb3a3acb"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CoverageManagementTest::test_ac_admin_021_admin_sets_a_drivers_city_and_districts_in_any_status"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17247-37c5-720b-8335-1be649ba60d1/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17247-37c5-720b-8335-1be649ba60d1",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a17247-37bf-721a-bbf1-b0fc9a1a3087\",\n    \"district_ids\": [\n        \"01a17247-37c3-730f-bafe-f2a9fb3a3acb\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a17247-37bf-721a-bbf1-b0fc9a1a3087\",\n            \"name\": \"Sample-vkjy79831042\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a17247-37c3-730f-bafe-f2a9fb3a3acb\",\n                \"name\": \"Sample-qzyp38409991\"\n            }\n        ],\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "work-area"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "work-area"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "work-area"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver Work Area Invalid Form",
                                            "_joshen": {
                                                "route": "admin.drivers.work-area",
                                                "name": "Driver Work Area Invalid Form",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17247-3cc6-70c3-abf6-32333405de07/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "district_ids": "all"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CoverageManagementTest::test_ac_admin_021_the_areas_must_be_enabled_and_consistent"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17247-3cc6-70c3-abf6-32333405de07/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17247-3cc6-70c3-abf6-32333405de07",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"district_ids\": \"all\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Districts field must be an array. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"district_ids\": [\n                \"The Districts field must be an array.\",\n                \"The Districts field must be a list.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"driver_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `driver_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Driver Details Full\n- `200` Driver Review History\n- `200` Driver Show\n- `200` Driver Verified Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-6ff4-705d-b0dd-e04c567e4a2f\",\n        \"full_name\": \"Mr. Andrew Stanton Sr.\",\n        \"phone_code\": \"966\",\n        \"phone\": \"591360446\",\n        \"nationality\": \"Saudi\",\n        \"city\": {\n            \"id\": \"01a17207-6fef-701e-b843-f392a24df8b5\",\n            \"name\": \"Riyadh\"\n        },\n        \"districts_count\": 1,\n        \"vehicle\": {\n            \"id\": \"01a17207-7000-715e-a5f1-a04519db475a\",\n            \"type\": {\n                \"value\": \"motorbike\",\n                \"label\": \"Motorbike\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"model_year\": null,\n            \"color\": null,\n            \"plate_number\": \"ABC123456\",\n            \"is_active\": true\n        },\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_online\": true,\n        \"location_updated_at\": \"2026-10-25T07:47:32+00:00\",\n        \"rating_avg\": \"4.75\",\n        \"rating_count\": 8,\n        \"completed_trips_count\": 12,\n        \"submitted_at\": \"2026-10-25T07:47:32+00:00\",\n        \"created_at\": \"2026-10-25T07:47:32+00:00\",\n        \"user_id\": \"01a17207-6ff4-705d-b0dd-e04c57329370\",\n        \"birth_date\": \"1994-03-20\",\n        \"national_id\": \"****7890\",\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": null,\n        \"approved_by\": null,\n        \"image\": null,\n        \"districts\": [\n            {\n                \"id\": \"01a17207-6ffd-719b-9457-20bf49297429\",\n                \"name\": \"Sample-kffv65306156\"\n            }\n        ],\n        \"current_location\": {\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"updated_at\": \"2026-10-25T07:47:32+00:00\"\n        },\n        \"vehicles\": [\n            {\n                \"id\": \"01a17207-7000-715e-a5f1-a04519db475a\",\n                \"type\": {\n                    \"value\": \"motorbike\",\n                    \"label\": \"Motorbike\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"ABC123456\",\n                \"is_active\": true\n            },\n            {\n                \"id\": \"01a17207-7001-71cb-af59-070db0436ade\",\n                \"type\": {\n                    \"value\": \"car\",\n                    \"label\": \"Car\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"HISTORY9876\",\n                \"is_active\": false\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-6ffb-7369-bc8c-cc570abf4976\",\n                \"type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-6ff9-725f-920b-826b146c2e29\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-6ff7-738e-8288-ebea787fe7fc\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"payout_account\": {\n            \"id\": \"01a17207-7002-7301-95bd-0a6815878043\",\n            \"holder_name\": \"mdqpzuhkcley\",\n            \"bank_name\": \"eakzwcocgrfi\",\n            \"iban\": \"****9012\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            }\n        },\n        \"change_requests\": [\n            {\n                \"id\": \"01a17207-7003-70bf-9ab1-daaa059d03d3\",\n                \"change_type\": {\n                    \"value\": \"profile\",\n                    \"label\": \"Profile\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"created_at\": \"2026-10-25T07:47:32+00:00\"\n            }\n        ],\n        \"review_history\": [],\n        \"updated_at\": \"2026-10-25T07:47:32+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Details Full",
                                            "_joshen": {
                                                "route": "admin.drivers.show",
                                                "name": "Driver Details Full",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-6ff4-705d-b0dd-e04c567e4a2f",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_details_and_masking"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-6ff4-705d-b0dd-e04c567e4a2f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-6ff4-705d-b0dd-e04c567e4a2f"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-6ff4-705d-b0dd-e04c567e4a2f\",\n        \"full_name\": \"Mr. Andrew Stanton Sr.\",\n        \"phone_code\": \"966\",\n        \"phone\": \"591360446\",\n        \"nationality\": \"Saudi\",\n        \"city\": {\n            \"id\": \"01a17207-6fef-701e-b843-f392a24df8b5\",\n            \"name\": \"Riyadh\"\n        },\n        \"districts_count\": 1,\n        \"vehicle\": {\n            \"id\": \"01a17207-7000-715e-a5f1-a04519db475a\",\n            \"type\": {\n                \"value\": \"motorbike\",\n                \"label\": \"Motorbike\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"model_year\": null,\n            \"color\": null,\n            \"plate_number\": \"ABC123456\",\n            \"is_active\": true\n        },\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_online\": true,\n        \"location_updated_at\": \"2026-10-25T07:47:32+00:00\",\n        \"rating_avg\": \"4.75\",\n        \"rating_count\": 8,\n        \"completed_trips_count\": 12,\n        \"submitted_at\": \"2026-10-25T07:47:32+00:00\",\n        \"created_at\": \"2026-10-25T07:47:32+00:00\",\n        \"user_id\": \"01a17207-6ff4-705d-b0dd-e04c57329370\",\n        \"birth_date\": \"1994-03-20\",\n        \"national_id\": \"****7890\",\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": null,\n        \"approved_by\": null,\n        \"image\": null,\n        \"districts\": [\n            {\n                \"id\": \"01a17207-6ffd-719b-9457-20bf49297429\",\n                \"name\": \"Sample-kffv65306156\"\n            }\n        ],\n        \"current_location\": {\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"updated_at\": \"2026-10-25T07:47:32+00:00\"\n        },\n        \"vehicles\": [\n            {\n                \"id\": \"01a17207-7000-715e-a5f1-a04519db475a\",\n                \"type\": {\n                    \"value\": \"motorbike\",\n                    \"label\": \"Motorbike\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"ABC123456\",\n                \"is_active\": true\n            },\n            {\n                \"id\": \"01a17207-7001-71cb-af59-070db0436ade\",\n                \"type\": {\n                    \"value\": \"car\",\n                    \"label\": \"Car\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"HISTORY9876\",\n                \"is_active\": false\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-6ffb-7369-bc8c-cc570abf4976\",\n                \"type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-6ff9-725f-920b-826b146c2e29\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-6ff7-738e-8288-ebea787fe7fc\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"payout_account\": {\n            \"id\": \"01a17207-7002-7301-95bd-0a6815878043\",\n            \"holder_name\": \"mdqpzuhkcley\",\n            \"bank_name\": \"eakzwcocgrfi\",\n            \"iban\": \"****9012\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            }\n        },\n        \"change_requests\": [\n            {\n                \"id\": \"01a17207-7003-70bf-9ab1-daaa059d03d3\",\n                \"change_type\": {\n                    \"value\": \"profile\",\n                    \"label\": \"Profile\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"created_at\": \"2026-10-25T07:47:32+00:00\"\n            }\n        ],\n        \"review_history\": [],\n        \"updated_at\": \"2026-10-25T07:47:32+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Driver Review History",
                                            "_joshen": {
                                                "route": "admin.drivers.show",
                                                "name": "Driver Review History",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-5c8d-7292-a60a-2b453ffdaa7f",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_review_cycle_is_profile_scoped_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-5c8d-7292-a60a-2b453ffdaa7f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-5c8d-7292-a60a-2b453ffdaa7f"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-5c8d-7292-a60a-2b453ffdaa7f\",\n        \"full_name\": \"Mrs. Madisyn Predovic\",\n        \"phone_code\": \"966\",\n        \"phone\": \"586934818\",\n        \"nationality\": null,\n        \"city\": null,\n        \"districts_count\": 0,\n        \"vehicle\": {\n            \"id\": \"01a17207-5c97-73e8-a9ea-a341e65cf184\",\n            \"type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"model_year\": null,\n            \"color\": null,\n            \"plate_number\": \"CAR-reld00843641\",\n            \"is_active\": true\n        },\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_online\": false,\n        \"location_updated_at\": null,\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_trips_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:47:27+00:00\",\n        \"created_at\": \"2026-10-25T07:47:27+00:00\",\n        \"user_id\": \"01a17207-5c8d-7292-a60a-2b4540a89d81\",\n        \"birth_date\": null,\n        \"national_id\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": \"2026-10-25T07:47:27+00:00\",\n        \"approved_by\": \"01a17207-5c9b-7180-b933-22b47391757c\",\n        \"image\": null,\n        \"districts\": [],\n        \"current_location\": null,\n        \"vehicles\": [\n            {\n                \"id\": \"01a17207-5c97-73e8-a9ea-a341e65cf184\",\n                \"type\": {\n                    \"value\": \"car\",\n                    \"label\": \"Car\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"CAR-reld00843641\",\n                \"is_active\": true\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-5c96-7339-9201-cff281ea19e1\",\n                \"type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-5c94-71a8-a445-63628cf0bcf4\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-5c92-720c-adc9-fc77e94637cf\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [\n            {\n                \"id\": \"01a17207-5cc3-732e-a3b5-ea8bca7cd5bd\",\n                \"action\": {\n                    \"value\": \"reactivated\",\n                    \"label\": \"Reactivated\"\n                },\n                \"from_status\": {\n                    \"value\": \"suspended\",\n                    \"label\": \"Suspended\"\n                },\n                \"to_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"reason\": \"Verified again\",\n                \"actor\": {\n                    \"id\": \"01a17207-5c9b-7180-b933-22b47391757c\",\n                    \"full_name\": \"Thurman Beahan\"\n                },\n                \"created_at\": \"2026-10-25T07:47:27+00:00\"\n            },\n            {\n                \"id\": \"01a17207-5cb7-7059-b06f-6df671e3fbde\",\n                \"action\": {\n                    \"value\": \"suspended\",\n                    \"label\": \"Suspended\"\n                },\n                \"from_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"to_status\": {\n                    \"value\": \"suspended\",\n                    \"label\": \"Suspended\"\n                },\n                \"reason\": \"Licence verification\",\n                \"actor\": {\n                    \"id\": \"01a17207-5c9b-7180-b933-22b47391757c\",\n                    \"full_name\": \"Thurman Beahan\"\n                },\n                \"created_at\": \"2026-10-25T07:47:27+00:00\"\n            },\n            {\n                \"id\": \"01a17207-5cac-7118-8c27-a59ea95f4126\",\n                \"action\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"from_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"to_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"reason\": \"Approval documents: 3 qualifying; 3 newly verified.\",\n                \"actor\": {\n                    \"id\": \"01a17207-5c9b-7180-b933-22b47391757c\",\n                    \"full_name\": \"Thurman Beahan\"\n                },\n                \"created_at\": \"2026-10-25T07:47:27+00:00\"\n            },\n            {\n                \"id\": \"01a17207-5cca-7220-9432-ec769d1daa94\",\n                \"action\": {\n                    \"value\": \"submitted\",\n                    \"label\": \"Submitted\"\n                },\n                \"from_status\": null,\n                \"to_status\": null,\n                \"reason\": null,\n                \"actor\": null,\n                \"created_at\": \"2026-10-24T07:47:27+00:00\"\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:47:27+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Driver Show",
                                            "_joshen": {
                                                "route": "admin.drivers.show",
                                                "name": "Driver Show",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-479f-7211-925a-b5ed5d4bcf26",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-479f-7211-925a-b5ed5d4bcf26",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-479f-7211-925a-b5ed5d4bcf26"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-479f-7211-925a-b5ed5d4bcf26\",\n        \"full_name\": \"Sim Ledner III\",\n        \"phone_code\": \"966\",\n        \"phone\": \"559297069\",\n        \"nationality\": null,\n        \"city\": null,\n        \"districts_count\": 0,\n        \"vehicle\": {\n            \"id\": \"01a17207-47b1-712f-aa04-9e3b01aa36ad\",\n            \"type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"model_year\": null,\n            \"color\": null,\n            \"plate_number\": \"CAR-kdjj49783739\",\n            \"is_active\": true\n        },\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_online\": false,\n        \"location_updated_at\": null,\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_trips_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:47:22+00:00\",\n        \"created_at\": \"2026-10-25T07:47:22+00:00\",\n        \"user_id\": \"01a17207-479f-7211-925a-b5ed5e35aa81\",\n        \"birth_date\": null,\n        \"national_id\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": null,\n        \"approved_by\": null,\n        \"image\": null,\n        \"districts\": [],\n        \"current_location\": null,\n        \"vehicles\": [\n            {\n                \"id\": \"01a17207-47b1-712f-aa04-9e3b01aa36ad\",\n                \"type\": {\n                    \"value\": \"car\",\n                    \"label\": \"Car\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"CAR-kdjj49783739\",\n                \"is_active\": true\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-47ae-71e8-b944-ec0d3ca11f9b\",\n                \"type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-47ab-703d-852a-883f2aa844f0\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-47a5-71e5-b793-81c438d9eabd\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [],\n        \"updated_at\": \"2026-10-25T07:47:22+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Driver Verified Details",
                                            "_joshen": {
                                                "route": "admin.drivers.show",
                                                "name": "Driver Verified Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-7e16-724e-86a1-6a38b3d34333",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_approval_verifies_only_qualifying_documents"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7e16-724e-86a1-6a38b3d34333",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7e16-724e-86a1-6a38b3d34333"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-7e16-724e-86a1-6a38b3d34333\",\n        \"full_name\": \"Dr. Chanel Hoeger Sr.\",\n        \"phone_code\": \"966\",\n        \"phone\": \"596407860\",\n        \"nationality\": null,\n        \"city\": null,\n        \"districts_count\": 0,\n        \"vehicle\": {\n            \"id\": \"01a17207-7e1f-72db-b24c-71041486fb3d\",\n            \"type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"model_year\": null,\n            \"color\": null,\n            \"plate_number\": \"CAR-hukq45300087\",\n            \"is_active\": true\n        },\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_online\": false,\n        \"location_updated_at\": null,\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_trips_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:47:36+00:00\",\n        \"created_at\": \"2026-10-25T07:47:36+00:00\",\n        \"user_id\": \"01a17207-7e16-724e-86a1-6a38b4a18d76\",\n        \"birth_date\": null,\n        \"national_id\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": \"2026-10-25T07:47:36+00:00\",\n        \"approved_by\": \"01a17207-7e21-7010-802e-3802fa083755\",\n        \"image\": null,\n        \"districts\": [],\n        \"current_location\": null,\n        \"vehicles\": [\n            {\n                \"id\": \"01a17207-7e1f-72db-b24c-71041486fb3d\",\n                \"type\": {\n                    \"value\": \"car\",\n                    \"label\": \"Car\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"CAR-hukq45300087\",\n                \"is_active\": true\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-7e34-726e-84e5-8bdd30542dc0\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": null\n            },\n            {\n                \"id\": \"01a17207-7e30-7349-bebb-a8347dc543ec\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": \"2026-10-24\",\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-7e2e-7344-aba2-11e8272a9fb5\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"replaced\",\n                    \"label\": \"Replaced\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-7e2c-72f5-a3c3-8e4b60035066\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"expired\",\n                    \"label\": \"Expired\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-7e2a-73ee-b5c1-06dea5022c96\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"rejected\",\n                    \"label\": \"Rejected\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-7e28-702a-bebc-022e9001f8cb\",\n                \"type\": {\n                    \"value\": \"other\",\n                    \"label\": \"Other\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-7e1e-7163-918b-bd962a60f2b4\",\n                \"type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-7e1c-73d9-8c91-a8ed36db3b07\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-7e1a-70aa-a592-7d612956a870\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [\n            {\n                \"id\": \"01a17207-7e43-72bb-8615-cc987e42bdd6\",\n                \"action\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"from_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"to_status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"reason\": \"Approval documents: 3 qualifying; 2 newly verified.\",\n                \"actor\": {\n                    \"id\": \"01a17207-7e21-7010-802e-3802fa083755\",\n                    \"full_name\": \"Mrs. Jazmin Reilly V\"\n                },\n                \"created_at\": \"2026-10-25T07:47:36+00:00\"\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:47:36+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "driver_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Approve",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/approve",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "approve"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.approve`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Driver Action Approve\n- `200` Driver Approve\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Driver Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n- `422` Driver Missing Documents — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Driver Missing Localized Ar — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Driver Missing Localized En — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Driver No Active Vehicle Ar — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Driver No Active Vehicle En — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-5c8d-7292-a60a-2b453ffdaa7f\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:27+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Action Approve",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver Action Approve",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-5c8d-7292-a60a-2b453ffdaa7f/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_review_cycle_is_profile_scoped_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-5c8d-7292-a60a-2b453ffdaa7f/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-5c8d-7292-a60a-2b453ffdaa7f",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-5c8d-7292-a60a-2b453ffdaa7f\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:27+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Driver Approve",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver Approve",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-4b73-7064-95e6-34bbd0ccde90/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-4b73-7064-95e6-34bbd0ccde90/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-4b73-7064-95e6-34bbd0ccde90",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-4b73-7064-95e6-34bbd0ccde90\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:23+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-6872-73b3-bd83-e0c99bafd658/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-6872-73b3-bd83-e0c99bafd658/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-6872-73b3-bd83-e0c99bafd658",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Approve from Suspended.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"11a36fb6-600f-41ee-9bb0-62f614f7fbed\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ اعتماد من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"3dbad234-e914-4dab-a427-84e66083592b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Approve from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"dff6e125-2ada-4964-8f9e-8d7701d8455b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver Missing Documents",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver Missing Documents",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-698e-7272-8bfe-d168d461ab2a/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_approval_prerequisites"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-698e-7272-8bfe-d168d461ab2a/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-698e-7272-8bfe-d168d461ab2a",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Approval requires: Account submission, National ID / iqama, Driving license, Vehicle registration, Active vehicle.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Approval requires: Account submission, National ID / iqama, Driving license, Vehicle registration, Active vehicle.\"\n            ]\n        },\n        \"correlation_id\": \"ee1c1490-0f8d-4b14-89fe-53c91c2e2379\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver Missing Localized Ar",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver Missing Localized Ar",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/drivers/01a17207-7cf5-70d3-ae64-073039970f17/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_missing_prerequisites_are_localized"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7cf5-70d3-ae64-073039970f17/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7cf5-70d3-ae64-073039970f17",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الموافقة تتطلب: تقديم الحساب للمراجعة, هوية / إقامة, رخصة قيادة, استمارة المركبة, مركبة نشطة.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"الموافقة تتطلب: تقديم الحساب للمراجعة, هوية / إقامة, رخصة قيادة, استمارة المركبة, مركبة نشطة.\"\n            ]\n        },\n        \"correlation_id\": \"75a1a9a3-c6bf-444c-ba55-6e6700bad48e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver Missing Localized En",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver Missing Localized En",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-7cf5-70d3-ae64-073039970f17/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_missing_prerequisites_are_localized"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7cf5-70d3-ae64-073039970f17/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7cf5-70d3-ae64-073039970f17",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Approval requires: Account submission, National ID / iqama, Driving license, Vehicle registration, Active vehicle.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Approval requires: Account submission, National ID / iqama, Driving license, Vehicle registration, Active vehicle.\"\n            ]\n        },\n        \"correlation_id\": \"e26bae5c-12de-4f29-9470-f7284419c0dc\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver No Active Vehicle Ar",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver No Active Vehicle Ar",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/drivers/01a17207-7f77-73c3-b036-bd5a4287fc0b/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_approve_requires_an_active_vehicle"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7f77-73c3-b036-bd5a4287fc0b/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7f77-73c3-b036-bd5a4287fc0b",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الموافقة تتطلب: مركبة نشطة.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"الموافقة تتطلب: مركبة نشطة.\"\n            ]\n        },\n        \"correlation_id\": \"5301e135-b77e-4f3f-9cbf-5a49d8e3270c\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver No Active Vehicle En",
                                            "_joshen": {
                                                "route": "admin.drivers.approve",
                                                "name": "Driver No Active Vehicle En",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-7f77-73c3-b036-bd5a4287fc0b/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_approve_requires_an_active_vehicle"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7f77-73c3-b036-bd5a4287fc0b/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7f77-73c3-b036-bd5a4287fc0b",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Approval requires: Active vehicle.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Approval requires: Active vehicle.\"\n            ]\n        },\n        \"correlation_id\": \"732a4ea2-71f4-43cc-92f4-0f019f205b4f\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Please upload a clear photo of your national ID`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Driver Reject\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Driver Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-4cf6-715d-ab2b-a5a689a90b81\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Reject",
                                            "_joshen": {
                                                "route": "admin.drivers.reject",
                                                "name": "Driver Reject",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-4cf6-715d-ab2b-a5a689a90b81/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Please correct the documents"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-4cf6-715d-ab2b-a5a689a90b81/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-4cf6-715d-ab2b-a5a689a90b81",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please correct the documents\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-4cf6-715d-ab2b-a5a689a90b81\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.drivers.reject",
                                                "name": "Driver Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-61ad-72e0-9c2f-4d432dd7120b/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-61ad-72e0-9c2f-4d432dd7120b/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-61ad-72e0-9c2f-4d432dd7120b",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Reject from Approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"f5852fca-e333-428c-a964-7399442cfd04\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.drivers.reject",
                                                "name": "Driver Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ رفض من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"cd21cd09-c26e-4941-91b3-318fd2590d6d\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.drivers.reject",
                                                "name": "Driver Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Reject from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"3c9dab88-155f-49f8-8ca9-274af41a313b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Request Changes",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/request-changes",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "request-changes"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.request-changes`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Please upload a clear photo of your national ID`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Driver Request Changes\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Driver Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-4e51-72e1-bd6e-ca03a457b829\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Request Changes",
                                            "_joshen": {
                                                "route": "admin.drivers.request-changes",
                                                "name": "Driver Request Changes",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-4e51-72e1-bd6e-ca03a457b829/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Please correct the documents"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-4e51-72e1-bd6e-ca03a457b829/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-4e51-72e1-bd6e-ca03a457b829",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please correct the documents\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-4e51-72e1-bd6e-ca03a457b829\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.drivers.request-changes",
                                                "name": "Driver Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-62d0-719a-a8b2-5dda5c908a6e/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-62d0-719a-a8b2-5dda5c908a6e/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-62d0-719a-a8b2-5dda5c908a6e",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Request changes from Approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"3476c1d9-1654-468e-bdbd-761d88b4330c\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.drivers.request-changes",
                                                "name": "Driver Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ طلب تعديلات من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"65077015-ae7b-4e8c-8bb2-88b8683cb3e4\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.drivers.request-changes",
                                                "name": "Driver Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Request changes from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"5d95526c-8949-4fb5-8c6d-5f69570b4af6\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Suspend",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/suspend",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "suspend"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.suspend`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Please upload a clear photo of your national ID`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Driver Action Suspend\n- `200` Driver Suspend\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Driver Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-5c8d-7292-a60a-2b453ffdaa7f\",\n        \"account_status\": {\n            \"value\": \"suspended\",\n            \"label\": \"Suspended\"\n        },\n        \"status_reason\": \"Licence verification\",\n        \"approved_at\": \"2026-10-25T07:47:27+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Action Suspend",
                                            "_joshen": {
                                                "route": "admin.drivers.suspend",
                                                "name": "Driver Action Suspend",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-5c8d-7292-a60a-2b453ffdaa7f/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Licence verification"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_review_cycle_is_profile_scoped_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-5c8d-7292-a60a-2b453ffdaa7f/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-5c8d-7292-a60a-2b453ffdaa7f",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Licence verification\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-5c8d-7292-a60a-2b453ffdaa7f\",\n        \"account_status\": {\n            \"value\": \"suspended\",\n            \"label\": \"Suspended\"\n        },\n        \"status_reason\": \"Licence verification\",\n        \"approved_at\": \"2026-10-25T07:47:27+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Driver Suspend",
                                            "_joshen": {
                                                "route": "admin.drivers.suspend",
                                                "name": "Driver Suspend",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-4fae-70a6-af1d-a4461756f71b/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Please correct the documents"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-4fae-70a6-af1d-a4461756f71b/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-4fae-70a6-af1d-a4461756f71b",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please correct the documents\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-4fae-70a6-af1d-a4461756f71b\",\n        \"account_status\": {\n            \"value\": \"suspended\",\n            \"label\": \"Suspended\"\n        },\n        \"status_reason\": \"Please correct the documents\",\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "suspend"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "suspend"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "suspend"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.drivers.suspend",
                                                "name": "Driver Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-63f7-70dd-9d7b-f88fb01de3d3/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-63f7-70dd-9d7b-f88fb01de3d3/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-63f7-70dd-9d7b-f88fb01de3d3",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Suspend from Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"235cdf41-d9f1-4da6-928e-199eb5b84752\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.drivers.suspend",
                                                "name": "Driver Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ إيقاف من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"292aa561-73a3-4808-a1f6-c2ac480c6316\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.drivers.suspend",
                                                "name": "Driver Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/suspend",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "suspend"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Suspend from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"8fbd7c01-4845-4f6c-a4cc-95d774cf3df0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/suspend",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "suspend"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reactivate",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/reactivate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "reactivate"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.reactivate`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Reviewed again after the appeal`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Driver Action Reactivate\n- `200` Driver Reactivate\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Driver Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition Ar — `error_code: INVALID_STATE_TRANSITION`\n- `409` Driver Localized Transition En — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-5c8d-7292-a60a-2b453ffdaa7f\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:27+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver Action Reactivate",
                                            "_joshen": {
                                                "route": "admin.drivers.reactivate",
                                                "name": "Driver Action Reactivate",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-5c8d-7292-a60a-2b453ffdaa7f/reactivate",
                                                    "query": null,
                                                    "body": {
                                                        "note": "Verified again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_review_cycle_is_profile_scoped_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-5c8d-7292-a60a-2b453ffdaa7f/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-5c8d-7292-a60a-2b453ffdaa7f",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Verified again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-5c8d-7292-a60a-2b453ffdaa7f\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:47:27+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Driver Reactivate",
                                            "_joshen": {
                                                "route": "admin.drivers.reactivate",
                                                "name": "Driver Reactivate",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-50f6-7076-954e-37b0d123ddc3/reactivate",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_endpoint_authentication_and_exact_route_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-50f6-7076-954e-37b0d123ddc3/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-50f6-7076-954e-37b0d123ddc3",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-50f6-7076-954e-37b0d123ddc3\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "reactivate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "reactivate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "reactivate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.drivers.reactivate",
                                                "name": "Driver Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-6508-73ec-8857-2c6588663230/reactivate",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_illegal_transition_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-6508-73ec-8857-2c6588663230/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-6508-73ec-8857-2c6588663230",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Reactivate from Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"c5eeba12-0c52-4900-b4b4-8f34c00d562f\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition Ar",
                                            "_joshen": {
                                                "route": "admin.drivers.reactivate",
                                                "name": "Driver Localized Transition Ar",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/reactivate",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن تنفيذ إعادة تفعيل من الحالة غير مكتمل.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"b8f91ba5-b8b2-4e77-8fec-116e4d7e51f1\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver Localized Transition En",
                                            "_joshen": {
                                                "route": "admin.drivers.reactivate",
                                                "name": "Driver Localized Transition En",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/reactivate",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\DriverManagementTest::test_ac_admin_006_localized_transition_and_concrete_sort_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a17207-7b98-73be-9eef-9cd63ca56743/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a17207-7b98-73be-9eef-9cd63ca56743",
                                                        "reactivate"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cannot Reactivate from Incomplete.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"cd56ee3a-78da-436f-b143-789ce2c25b0e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/reactivate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "reactivate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Reviewed again after the appeal\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"change_request_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "change-requests"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "pending",
                                                    "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[change_type]",
                                                    "value": "work_area",
                                                    "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.change-requests.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled` (optional)\n- `filters[change_type]` — Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document` (optional)\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `change_request_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Admin lists a driver's requests\n- `200` Supervisor without a grant is refused\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Under review\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": null,\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                            \"name\": \"Sample-ibmd84798706\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                                \"name\": \"Sample-ngfw94436787\"\n                            }\n                        ]\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": null,\n                \"can_cancel\": true,\n                \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n                \"reviewed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Admin lists a driver's requests",
                                            "_joshen": {
                                                "route": "admin.drivers.change-requests.index",
                                                "name": "Admin lists a driver's requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a1c4e0-d029-7382-a1b1-fbe60abf4533",
                                                        "change-requests"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Under review\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": null,\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                            \"name\": \"Sample-ibmd84798706\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                                \"name\": \"Sample-ngfw94436787\"\n                            }\n                        ]\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": null,\n                \"can_cancel\": true,\n                \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n                \"reviewed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Supervisor without a grant is refused",
                                            "_joshen": {
                                                "route": "admin.drivers.change-requests.index",
                                                "name": "Supervisor without a grant is refused",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a1c4e0-1a83-71da-aff6-21fd1d152a52/change-requests",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a1c4e0-1a83-71da-aff6-21fd1d152a52/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a1c4e0-1a83-71da-aff6-21fd1d152a52",
                                                        "change-requests"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-1b4f-735f-85f7-e6cb0de14105\",\n                \"change_type\": {\n                    \"value\": \"identity\",\n                    \"label\": \"Identity\"\n                },\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"nationality\",\n                        \"label\": \"Nationality\",\n                        \"current\": null,\n                        \"proposed\": \"Jordanian\"\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": null,\n                \"can_cancel\": false,\n                \"submitted_at\": \"2026-11-10T09:53:03+00:00\",\n                \"reviewed_at\": null\n            },\n            {\n                \"id\": \"01a1c4e0-1b12-7253-93d2-76c550f4df94\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": null,\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-1a8c-7071-995a-f728b7114757\",\n                            \"name\": \"Sample-qsar19198813\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-1a93-7100-bb24-cecb253f22a9\",\n                                \"name\": \"Sample-kjag53690456\"\n                            }\n                        ]\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": null,\n                \"can_cancel\": false,\n                \"submitted_at\": \"2026-11-10T09:53:03+00:00\",\n                \"reviewed_at\": \"2026-11-10T09:53:03+00:00\"\n            },\n            {\n                \"id\": \"01a1c4e0-1aac-70db-ae6e-42e1414ac4f6\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"rejected\",\n                    \"label\": \"Rejected\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": null,\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-1a8c-7071-995a-f728b7114757\",\n                            \"name\": \"Sample-qsar19198813\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-1a93-7100-bb24-cecb253f22a9\",\n                                \"name\": \"Sample-kjag53690456\"\n                            }\n                        ]\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": \"Area not served\",\n                \"can_cancel\": false,\n                \"submitted_at\": \"2026-11-10T09:53:03+00:00\",\n                \"reviewed_at\": \"2026-11-10T09:53:03+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-1a83-71da-aff6-21fd1d152a52/change-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-1a83-71da-aff6-21fd1d152a52/change-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-1a83-71da-aff6-21fd1d152a52/change-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/drivers/01a1c4e0-1a83-71da-aff6-21fd1d152a52/change-requests\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "admin.drivers.change-requests.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests",
                                                    "query": {
                                                        "filters": {
                                                            "status": "bogus"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests?filters[status]=bogus",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a1c4e0-d029-7382-a1b1-fbe60abf4533",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "bogus"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "change_request_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Approve",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"change_request_id\",\"Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests/:changeRequest/approve",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "change-requests",
                                                ":changeRequest",
                                                "approve"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                },
                                                {
                                                    "key": "changeRequest",
                                                    "value": "{{change_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.change-requests.approve`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `note`\n- **Description:** Optional note kept with the approval and shown to her. The request itself is never edited (TD-184).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Documents checked.`\n- **Validation rules:** `nullable|string|max:500`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{change_request_id}}` — Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Admin approves a driver request\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Note too long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d0af-7239-96c7-cf03474e09a1\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": null,\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                    \"name\": \"Sample-ibmd84798706\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                        \"name\": \"Sample-ngfw94436787\"\n                    }\n                ]\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": \"2026-11-10T09:53:50+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"Documents checked.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Admin approves a driver request",
                                            "_joshen": {
                                                "route": "admin.drivers.change-requests.approve",
                                                "name": "Admin approves a driver request",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests/01a1c4e0-d0af-7239-96c7-cf03474e09a1/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests/01a1c4e0-d0af-7239-96c7-cf03474e09a1/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a1c4e0-d029-7382-a1b1-fbe60abf4533",
                                                        "change-requests",
                                                        "01a1c4e0-d0af-7239-96c7-cf03474e09a1",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d0af-7239-96c7-cf03474e09a1\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": null,\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                    \"name\": \"Sample-ibmd84798706\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                        \"name\": \"Sample-ngfw94436787\"\n                    }\n                ]\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": \"2026-11-10T09:53:50+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests/:changeRequest/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Documents checked.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests/:changeRequest/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Documents checked.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests/:changeRequest/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Documents checked.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Note too long",
                                            "_joshen": {
                                                "route": "admin.drivers.change-requests.approve",
                                                "name": "Note too long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests/01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d/approve",
                                                    "query": null,
                                                    "body": {
                                                        "note": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests/01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a1c4e0-d029-7382-a1b1-fbe60abf4533",
                                                        "change-requests",
                                                        "01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The note field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"note\": [\n                \"The note field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "change_request_id",
                                                "set_by": [
                                                    "admin.providers.change-requests.index",
                                                    "admin.drivers.change-requests.index",
                                                    "provider.profile.change-requests.index",
                                                    "provider.profile.change-requests.store",
                                                    "provider.profile.change-requests.show",
                                                    "delivery.profile.change-requests.index",
                                                    "delivery.profile.change-requests.store",
                                                    "delivery.profile.change-requests.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"change_request_id\",\"Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests/:changeRequest/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "drivers",
                                                ":id",
                                                "change-requests",
                                                ":changeRequest",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{driver_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                },
                                                {
                                                    "key": "changeRequest",
                                                    "value": "{{change_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.drivers.change-requests.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the request is refused, 3–500 characters; shown to her. A stale request is also rejected with a note so she can send a new one.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `The attached file is not readable.`\n- **Validation rules:** `required|string|min:3|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:3` — must be at least 3.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{change_request_id}}` — Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Admin rejects a driver request\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Rejection without a reason\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": null,\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                    \"name\": \"Sample-ibmd84798706\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                        \"name\": \"Sample-ngfw94436787\"\n                    }\n                ]\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": \"Area not served\",\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": \"2026-11-10T09:53:50+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"The attached file is not readable.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Admin rejects a driver request",
                                            "_joshen": {
                                                "route": "admin.drivers.change-requests.reject",
                                                "name": "Admin rejects a driver request",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests/01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Area not served"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests/01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a1c4e0-d029-7382-a1b1-fbe60abf4533",
                                                        "change-requests",
                                                        "01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Area not served\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": null,\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                    \"name\": \"Sample-ibmd84798706\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                        \"name\": \"Sample-ngfw94436787\"\n                    }\n                ]\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": \"Area not served\",\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": \"2026-11-10T09:53:50+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests/:changeRequest/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The attached file is not readable.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests/:changeRequest/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The attached file is not readable.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/:id/change-requests/:changeRequest/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        ":id",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{driver_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                                        },
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The attached file is not readable.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Rejection without a reason",
                                            "_joshen": {
                                                "route": "admin.drivers.change-requests.reject",
                                                "name": "Rejection without a reason",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests/01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d/reject",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/drivers/01a1c4e0-d029-7382-a1b1-fbe60abf4533/change-requests/01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "drivers",
                                                        "01a1c4e0-d029-7382-a1b1-fbe60abf4533",
                                                        "change-requests",
                                                        "01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "change_request_id",
                                                "set_by": [
                                                    "admin.providers.change-requests.index",
                                                    "admin.drivers.change-requests.index",
                                                    "provider.profile.change-requests.index",
                                                    "provider.profile.change-requests.store",
                                                    "provider.profile.change-requests.show",
                                                    "delivery.profile.change-requests.index",
                                                    "delivery.profile.change-requests.store",
                                                    "delivery.profile.change-requests.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Packages",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"package_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/packages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "packages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Bridal",
                                                    "description": "Partial match on the package name and the provider trading name. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "pending_review",
                                                    "description": "Review status. `pending_review` is the queue awaiting a decision (D1). — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[category_id]",
                                                    "value": "{{category_id}}",
                                                    "description": "Main category (`categories`, BRD main service) shown on the card. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_visible]",
                                                    "value": "1",
                                                    "description": "Provider's own show/hide switch. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[hidden_by_admin]",
                                                    "value": "0",
                                                    "description": "Only packages Joshen has hidden (`true`) or not (`false`). — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[submitted_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[submitted_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[submitted_at]",
                                                    "value": "asc",
                                                    "description": "Order by submission date. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[price]",
                                                    "value": "desc",
                                                    "description": "Order by package price. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.packages.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the package name and the provider trading name. — `string` (optional)\n- `filters[status]` — Review status. `pending_review` is the queue awaiting a decision (D1). — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived` (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[category_id]` — Main category (`categories`, BRD main service) shown on the card. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19) (optional)\n- `filters[is_visible]` — Provider's own show/hide switch. — `boolean` (optional)\n- `filters[hidden_by_admin]` — Only packages Joshen has hidden (`true`) or not (`false`). — `boolean` (optional)\n- `filters[submitted_from]` — Earliest submission date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[submitted_to]` — Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)` (optional)\n- `sort[created_at]` — Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[submitted_at]` — Order by submission date. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[price]` — Order by package price. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `package_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Packages List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Packages Unsupported Filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"packages\": [\n            {\n                \"id\": \"01a17207-87ee-7203-a62b-4bf33089a1e5\",\n                \"name\": \"Sample-slyt19677121\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"provider\": {\n                    \"id\": \"01a17207-87e9-7144-b908-f02b01f174cd\",\n                    \"display_name\": \"Dixie Boyle\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"595096511\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-87ec-7341-a2d0-3645e77e9948\",\n                    \"name\": \"Sample-tnhk41700994\"\n                },\n                \"status\": {\n                    \"value\": \"draft\",\n                    \"label\": \"Draft\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"submitted_at\": null,\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-25T07:47:38+00:00\"\n            },\n            {\n                \"id\": \"01a17207-87e0-70da-a4f1-0f55977ade7f\",\n                \"name\": \"Skin\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"provider\": {\n                    \"id\": \"01a17207-87cb-7157-a8a0-ea3dbeb20deb\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"508908228\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-87de-731b-a8ff-84ee44f7ab5e\",\n                    \"name\": \"Sample-usoe08634986\"\n                },\n                \"status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"submitted_at\": \"2026-10-25T07:47:38+00:00\",\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-25T07:47:38+00:00\"\n            },\n            {\n                \"id\": \"01a17207-87d1-7184-8846-499edb7d4e10\",\n                \"name\": \"Bridal\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"provider\": {\n                    \"id\": \"01a17207-87cb-7157-a8a0-ea3dbeb20deb\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"508908228\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-87ce-70c7-9e55-d8928ff80701\",\n                    \"name\": \"Sample-drsj95317991\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Published\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"submitted_at\": null,\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-24T07:47:38+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/packages?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/packages?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/packages?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/packages\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Packages List",
                                            "_joshen": {
                                                "route": "admin.packages.index",
                                                "name": "Packages List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_list_shows_every_package_with_its_provider_newest_first"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"packages\": [\n            {\n                \"id\": \"01a17207-87ee-7203-a62b-4bf33089a1e5\",\n                \"name\": \"Sample-slyt19677121\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"provider\": {\n                    \"id\": \"01a17207-87e9-7144-b908-f02b01f174cd\",\n                    \"display_name\": \"Dixie Boyle\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"595096511\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-87ec-7341-a2d0-3645e77e9948\",\n                    \"name\": \"Sample-tnhk41700994\"\n                },\n                \"status\": {\n                    \"value\": \"draft\",\n                    \"label\": \"Draft\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"submitted_at\": null,\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-25T07:47:38+00:00\"\n            },\n            {\n                \"id\": \"01a17207-87e0-70da-a4f1-0f55977ade7f\",\n                \"name\": \"Skin\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"provider\": {\n                    \"id\": \"01a17207-87cb-7157-a8a0-ea3dbeb20deb\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"508908228\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-87de-731b-a8ff-84ee44f7ab5e\",\n                    \"name\": \"Sample-usoe08634986\"\n                },\n                \"status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"submitted_at\": \"2026-10-25T07:47:38+00:00\",\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-25T07:47:38+00:00\"\n            },\n            {\n                \"id\": \"01a17207-87d1-7184-8846-499edb7d4e10\",\n                \"name\": \"Bridal\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"provider\": {\n                    \"id\": \"01a17207-87cb-7157-a8a0-ea3dbeb20deb\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"508908228\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-87ce-70c7-9e55-d8928ff80701\",\n                    \"name\": \"Sample-drsj95317991\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Published\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"submitted_at\": null,\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-24T07:47:38+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/packages?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/packages?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/packages?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/packages\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Bridal",
                                                            "description": "Partial match on the package name and the provider trading name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending_review",
                                                            "description": "Review status. `pending_review` is the queue awaiting a decision (D1). — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Main category (`categories`, BRD main service) shown on the card. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_visible]",
                                                            "value": "1",
                                                            "description": "Provider's own show/hide switch. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[hidden_by_admin]",
                                                            "value": "0",
                                                            "description": "Only packages Joshen has hidden (`true`) or not (`false`). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "asc",
                                                            "description": "Order by submission date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[price]",
                                                            "value": "desc",
                                                            "description": "Order by package price. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Bridal",
                                                            "description": "Partial match on the package name and the provider trading name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending_review",
                                                            "description": "Review status. `pending_review` is the queue awaiting a decision (D1). — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Main category (`categories`, BRD main service) shown on the card. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_visible]",
                                                            "value": "1",
                                                            "description": "Provider's own show/hide switch. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[hidden_by_admin]",
                                                            "value": "0",
                                                            "description": "Only packages Joshen has hidden (`true`) or not (`false`). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "asc",
                                                            "description": "Order by submission date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[price]",
                                                            "value": "desc",
                                                            "description": "Order by package price. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Bridal",
                                                            "description": "Partial match on the package name and the provider trading name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending_review",
                                                            "description": "Review status. `pending_review` is the queue awaiting a decision (D1). — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Main category (`categories`, BRD main service) shown on the card. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_visible]",
                                                            "value": "1",
                                                            "description": "Provider's own show/hide switch. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[hidden_by_admin]",
                                                            "value": "0",
                                                            "description": "Only packages Joshen has hidden (`true`) or not (`false`). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "asc",
                                                            "description": "Order by submission date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[price]",
                                                            "value": "desc",
                                                            "description": "Order by package price. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Packages Unsupported Filter",
                                            "_joshen": {
                                                "route": "admin.packages.index",
                                                "name": "Packages Unsupported Filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages",
                                                    "query": {
                                                        "filters": {
                                                            "bogus": 1
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_list_shows_every_package_with_its_provider_newest_first"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages?filters[bogus]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[bogus]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): filters.bogus.\",\n    \"data\": {\n        \"errors\": {\n            \"filters\": [\n                \"Unsupported input key(s): filters.bogus.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "package_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"package_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/packages/:package",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "packages",
                                                ":package"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.packages.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `package_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Package Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8971-71eb-b02b-6fec3dfc5b1b\",\n        \"name\": \"Sample-wsdb62857312\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8963-7048-b30f-28d8ad2db0c3\",\n            \"display_name\": \"Prof. Raina Zulauf\",\n            \"phone_code\": \"966\",\n            \"phone\": \"506109660\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-896f-7067-9c2c-0aba0ed53640\",\n            \"name\": \"Sample-bpau36452742\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"submitted_at\": null,\n        \"reviewed_at\": \"2026-10-25T07:47:38+00:00\",\n        \"created_at\": \"2026-10-25T07:47:38+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8977-7167-8bf1-6ff68ff2398b\",\n                \"service\": {\n                    \"id\": \"01a17207-8973-7301-9c72-1d6ce6de15b5\",\n                    \"name\": \"Sample-dvwu92223472\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": \"180.00\",\n                \"is_enabled\": true\n            },\n            {\n                \"id\": \"01a17207-8978-7118-b30f-1f2d549071d1\",\n                \"service\": {\n                    \"id\": \"01a17207-8974-7134-a410-5a0644d4b8b7\",\n                    \"name\": \"Sample-oxpt99671298\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8979-707e-8a68-dad230cbbd31\",\n                \"name\": \"Sample-jcub11752963\"\n            }\n        ],\n        \"purchases_count\": 2,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-896a-73bf-b8f1-246f28fe0990\",\n            \"name\": \"Dr. Norbert Flatley\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package Details",
                                            "_joshen": {
                                                "route": "admin.packages.show",
                                                "name": "Package Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages/01a17207-8971-71eb-b02b-6fec3dfc5b1b",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_details_show_services_prices_review_trail_and_purchases"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/01a17207-8971-71eb-b02b-6fec3dfc5b1b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        "01a17207-8971-71eb-b02b-6fec3dfc5b1b"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8971-71eb-b02b-6fec3dfc5b1b\",\n        \"name\": \"Sample-wsdb62857312\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8963-7048-b30f-28d8ad2db0c3\",\n            \"display_name\": \"Prof. Raina Zulauf\",\n            \"phone_code\": \"966\",\n            \"phone\": \"506109660\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-896f-7067-9c2c-0aba0ed53640\",\n            \"name\": \"Sample-bpau36452742\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"submitted_at\": null,\n        \"reviewed_at\": \"2026-10-25T07:47:38+00:00\",\n        \"created_at\": \"2026-10-25T07:47:38+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8977-7167-8bf1-6ff68ff2398b\",\n                \"service\": {\n                    \"id\": \"01a17207-8973-7301-9c72-1d6ce6de15b5\",\n                    \"name\": \"Sample-dvwu92223472\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": \"180.00\",\n                \"is_enabled\": true\n            },\n            {\n                \"id\": \"01a17207-8978-7118-b30f-1f2d549071d1\",\n                \"service\": {\n                    \"id\": \"01a17207-8974-7134-a410-5a0644d4b8b7\",\n                    \"name\": \"Sample-oxpt99671298\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8979-707e-8a68-dad230cbbd31\",\n                \"name\": \"Sample-jcub11752963\"\n            }\n        ],\n        \"purchases_count\": 2,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-896a-73bf-b8f1-246f28fe0990\",\n            \"name\": \"Dr. Norbert Flatley\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "package_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Approve",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/packages/:package/approve",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "packages",
                                                ":package",
                                                "approve"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.packages.approve`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the package is rejected (required; stored as the package `review_note` and shown to the provider) or hidden (optional; sent in her notice and kept in the audit trail). Refused on approve and unhide.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Package Approved\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Package Approval In The Wrong Status — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8abb-71e0-94f3-7760bca30c75\",\n        \"name\": \"Sample-ernz20624489\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8ab4-7002-865e-d523ca2db0e3\",\n            \"display_name\": \"Dr. Toni Wyman\",\n            \"phone_code\": \"966\",\n            \"phone\": \"577886626\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-8ab8-711f-b7f1-4647a9d56ecb\",\n            \"name\": \"Sample-smnt01158431\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"submitted_at\": \"2026-10-25T07:47:39+00:00\",\n        \"reviewed_at\": \"2026-10-25T07:47:39+00:00\",\n        \"created_at\": \"2026-10-25T07:47:39+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8ac2-70ae-96fd-840786cd69b1\",\n                \"service\": {\n                    \"id\": \"01a17207-8abd-72e1-bc9e-01b0cf6dc3f0\",\n                    \"name\": \"Sample-mjae67634205\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            },\n            {\n                \"id\": \"01a17207-8ac2-70ae-96fd-84078722911d\",\n                \"service\": {\n                    \"id\": \"01a17207-8abd-72e1-bc9e-01b0cf9e91bb\",\n                    \"name\": \"Sample-qfox40461490\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8ac3-710f-83c9-caaf383c2e55\",\n                \"name\": \"Sample-wcew83220004\"\n            }\n        ],\n        \"purchases_count\": 0,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-8ab0-73c4-8d82-350719ce31b6\",\n            \"name\": \"Dr. Oceane Koss II\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package Approved",
                                            "_joshen": {
                                                "route": "admin.packages.approve",
                                                "name": "Package Approved",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages/01a17207-8abb-71e0-94f3-7760bca30c75/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_approval_publishes_the_package_and_notifies_the_provider"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/01a17207-8abb-71e0-94f3-7760bca30c75/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        "01a17207-8abb-71e0-94f3-7760bca30c75",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8abb-71e0-94f3-7760bca30c75\",\n        \"name\": \"Sample-ernz20624489\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8ab4-7002-865e-d523ca2db0e3\",\n            \"display_name\": \"Dr. Toni Wyman\",\n            \"phone_code\": \"966\",\n            \"phone\": \"577886626\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-8ab8-711f-b7f1-4647a9d56ecb\",\n            \"name\": \"Sample-smnt01158431\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"submitted_at\": \"2026-10-25T07:47:39+00:00\",\n        \"reviewed_at\": \"2026-10-25T07:47:39+00:00\",\n        \"created_at\": \"2026-10-25T07:47:39+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8ac2-70ae-96fd-840786cd69b1\",\n                \"service\": {\n                    \"id\": \"01a17207-8abd-72e1-bc9e-01b0cf6dc3f0\",\n                    \"name\": \"Sample-mjae67634205\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            },\n            {\n                \"id\": \"01a17207-8ac2-70ae-96fd-84078722911d\",\n                \"service\": {\n                    \"id\": \"01a17207-8abd-72e1-bc9e-01b0cf9e91bb\",\n                    \"name\": \"Sample-qfox40461490\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8ac3-710f-83c9-caaf383c2e55\",\n                \"name\": \"Sample-wcew83220004\"\n            }\n        ],\n        \"purchases_count\": 0,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-8ab0-73c4-8d82-350719ce31b6\",\n            \"name\": \"Dr. Oceane Koss II\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Package Approval In The Wrong Status",
                                            "_joshen": {
                                                "route": "admin.packages.approve",
                                                "name": "Package Approval In The Wrong Status",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages/01a17207-8d75-715d-b73b-064ec859e878/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_only_a_pending_package_can_be_approved_or_rejected"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/01a17207-8d75-715d-b73b-064ec859e878/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        "01a17207-8d75-715d-b73b-064ec859e878",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You cannot approve a package that is Archived.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"63af477c-8f14-4c55-9845-a53ca9268d58\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/packages/:package/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "packages",
                                                ":package",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.packages.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the package is rejected (required; stored as the package `review_note` and shown to the provider) or hidden (optional; sent in her notice and kept in the audit trail). Refused on approve and unhide.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `The listed services do not match the price`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Package Rejected\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Package Rejection Without Reason\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8bef-7059-a59c-b5c70ba61b1b\",\n        \"name\": \"Sample-kuao82981079\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8be7-7178-8b5c-3f9ee41b64b8\",\n            \"display_name\": \"Prof. Salma Collier IV\",\n            \"phone_code\": \"966\",\n            \"phone\": \"517693840\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-8bec-7265-9801-513797b047a0\",\n            \"name\": \"Sample-fztp76673735\"\n        },\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": \"Price is not credible\",\n        \"submitted_at\": null,\n        \"reviewed_at\": \"2026-10-25T07:47:39+00:00\",\n        \"created_at\": \"2026-10-25T07:47:39+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8bf6-719e-b398-8036350f2f33\",\n                \"service\": {\n                    \"id\": \"01a17207-8bf1-70c4-b63b-94c545023daa\",\n                    \"name\": \"Sample-rwca70437841\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            },\n            {\n                \"id\": \"01a17207-8bf6-719e-b398-8036354f1b1d\",\n                \"service\": {\n                    \"id\": \"01a17207-8bf2-7341-b80b-38a20442dc57\",\n                    \"name\": \"Sample-yvav69942859\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8bf7-718f-b3df-fbf9a8e8a9aa\",\n                \"name\": \"Sample-ueoz13457393\"\n            }\n        ],\n        \"purchases_count\": 0,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-8be3-7350-a8ed-8d635300a6fe\",\n            \"name\": \"Dr. Nasir Cronin III\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"The listed services do not match the price\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package Rejected",
                                            "_joshen": {
                                                "route": "admin.packages.reject",
                                                "name": "Package Rejected",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages/01a17207-8bef-7059-a59c-b5c70ba61b1b/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Price is not credible"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_rejection_needs_a_reason_the_provider_sees"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/01a17207-8bef-7059-a59c-b5c70ba61b1b/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        "01a17207-8bef-7059-a59c-b5c70ba61b1b",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Price is not credible\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8bef-7059-a59c-b5c70ba61b1b\",\n        \"name\": \"Sample-kuao82981079\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8be7-7178-8b5c-3f9ee41b64b8\",\n            \"display_name\": \"Prof. Salma Collier IV\",\n            \"phone_code\": \"966\",\n            \"phone\": \"517693840\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-8bec-7265-9801-513797b047a0\",\n            \"name\": \"Sample-fztp76673735\"\n        },\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": \"Price is not credible\",\n        \"submitted_at\": null,\n        \"reviewed_at\": \"2026-10-25T07:47:39+00:00\",\n        \"created_at\": \"2026-10-25T07:47:39+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8bf6-719e-b398-8036350f2f33\",\n                \"service\": {\n                    \"id\": \"01a17207-8bf1-70c4-b63b-94c545023daa\",\n                    \"name\": \"Sample-rwca70437841\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            },\n            {\n                \"id\": \"01a17207-8bf6-719e-b398-8036354f1b1d\",\n                \"service\": {\n                    \"id\": \"01a17207-8bf2-7341-b80b-38a20442dc57\",\n                    \"name\": \"Sample-yvav69942859\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8bf7-718f-b3df-fbf9a8e8a9aa\",\n                \"name\": \"Sample-ueoz13457393\"\n            }\n        ],\n        \"purchases_count\": 0,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-8be3-7350-a8ed-8d635300a6fe\",\n            \"name\": \"Dr. Nasir Cronin III\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The listed services do not match the price\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The listed services do not match the price\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The listed services do not match the price\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package Rejection Without Reason",
                                            "_joshen": {
                                                "route": "admin.packages.reject",
                                                "name": "Package Rejection Without Reason",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages/01a17207-8bef-7059-a59c-b5c70ba61b1b/reject",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_rejection_needs_a_reason_the_provider_sees"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/01a17207-8bef-7059-a59c-b5c70ba61b1b/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        "01a17207-8bef-7059-a59c-b5c70ba61b1b",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Hide",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/packages/:package/hide",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "packages",
                                                ":package",
                                                "hide"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.packages.hide`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the package is rejected (required; stored as the package `review_note` and shown to the provider) or hidden (optional; sent in her notice and kept in the audit trail). Refused on approve and unhide.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `The listed services do not match the price`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Package Hidden\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Package Hide Reason Too Long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8ecb-7147-8e12-30025b876888\",\n        \"name\": \"Sample-vmhb53462691\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8ec3-72a0-a400-609176f7850d\",\n            \"display_name\": \"Luciano Barrows\",\n            \"phone_code\": \"966\",\n            \"phone\": \"592558098\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-8ec8-719e-8899-d8e56f3533f2\",\n            \"name\": \"Sample-tfnr88465121\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": true,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"submitted_at\": null,\n        \"reviewed_at\": null,\n        \"created_at\": \"2026-10-25T07:47:40+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8ed1-71b6-97f0-69b0e6ec9192\",\n                \"service\": {\n                    \"id\": \"01a17207-8ecc-7054-b118-86ec73c2cfe9\",\n                    \"name\": \"Sample-tmcw96380473\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            },\n            {\n                \"id\": \"01a17207-8ed2-733e-8f85-12aedfeb2b08\",\n                \"service\": {\n                    \"id\": \"01a17207-8ecd-705d-bc81-90c332293113\",\n                    \"name\": \"Sample-stup12420224\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8ed3-71f2-a962-9a1c2d4b8e04\",\n                \"name\": \"Sample-ogsv01593875\"\n            }\n        ],\n        \"purchases_count\": 0,\n        \"reviewed_by\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"The listed services do not match the price\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package Hidden",
                                            "_joshen": {
                                                "route": "admin.packages.hide",
                                                "name": "Package Hidden",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages/01a17207-8ecb-7147-8e12-30025b876888/hide",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Policy violation"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_hiding_keeps_the_package_and_removes_customer_visibility"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/01a17207-8ecb-7147-8e12-30025b876888/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        "01a17207-8ecb-7147-8e12-30025b876888",
                                                        "hide"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Policy violation\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8ecb-7147-8e12-30025b876888\",\n        \"name\": \"Sample-vmhb53462691\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8ec3-72a0-a400-609176f7850d\",\n            \"display_name\": \"Luciano Barrows\",\n            \"phone_code\": \"966\",\n            \"phone\": \"592558098\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-8ec8-719e-8899-d8e56f3533f2\",\n            \"name\": \"Sample-tfnr88465121\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": true,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"submitted_at\": null,\n        \"reviewed_at\": null,\n        \"created_at\": \"2026-10-25T07:47:40+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8ed1-71b6-97f0-69b0e6ec9192\",\n                \"service\": {\n                    \"id\": \"01a17207-8ecc-7054-b118-86ec73c2cfe9\",\n                    \"name\": \"Sample-tmcw96380473\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            },\n            {\n                \"id\": \"01a17207-8ed2-733e-8f85-12aedfeb2b08\",\n                \"service\": {\n                    \"id\": \"01a17207-8ecd-705d-bc81-90c332293113\",\n                    \"name\": \"Sample-stup12420224\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8ed3-71f2-a962-9a1c2d4b8e04\",\n                \"name\": \"Sample-ogsv01593875\"\n            }\n        ],\n        \"purchases_count\": 0,\n        \"reviewed_by\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "hide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The listed services do not match the price\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "hide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The listed services do not match the price\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "hide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"The listed services do not match the price\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package Hide Reason Too Long",
                                            "_joshen": {
                                                "route": "admin.packages.hide",
                                                "name": "Package Hide Reason Too Long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages/01a17207-8ecb-7147-8e12-30025b876888/hide",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_hiding_keeps_the_package_and_removes_customer_visibility"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/01a17207-8ecb-7147-8e12-30025b876888/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        "01a17207-8ecb-7147-8e12-30025b876888",
                                                        "hide"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Unhide",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/packages/:package/unhide",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "packages",
                                                ":package",
                                                "unhide"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.packages.unhide`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the package is rejected (required; stored as the package `review_note` and shown to the provider) or hidden (optional; sent in her notice and kept in the audit trail). Refused on approve and unhide.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Package Shown Again\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8ecb-7147-8e12-30025b876888\",\n        \"name\": \"Sample-vmhb53462691\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8ec3-72a0-a400-609176f7850d\",\n            \"display_name\": \"Luciano Barrows\",\n            \"phone_code\": \"966\",\n            \"phone\": \"592558098\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-8ec8-719e-8899-d8e56f3533f2\",\n            \"name\": \"Sample-tfnr88465121\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"submitted_at\": null,\n        \"reviewed_at\": null,\n        \"created_at\": \"2026-10-25T07:47:40+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8ed1-71b6-97f0-69b0e6ec9192\",\n                \"service\": {\n                    \"id\": \"01a17207-8ecc-7054-b118-86ec73c2cfe9\",\n                    \"name\": \"Sample-tmcw96380473\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            },\n            {\n                \"id\": \"01a17207-8ed2-733e-8f85-12aedfeb2b08\",\n                \"service\": {\n                    \"id\": \"01a17207-8ecd-705d-bc81-90c332293113\",\n                    \"name\": \"Sample-stup12420224\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8ed3-71f2-a962-9a1c2d4b8e04\",\n                \"name\": \"Sample-ogsv01593875\"\n            }\n        ],\n        \"purchases_count\": 0,\n        \"reviewed_by\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package Shown Again",
                                            "_joshen": {
                                                "route": "admin.packages.unhide",
                                                "name": "Package Shown Again",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/packages/01a17207-8ecb-7147-8e12-30025b876888/unhide",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PackageManagementTest::test_ac_admin_011_hiding_keeps_the_package_and_removes_customer_visibility"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/01a17207-8ecb-7147-8e12-30025b876888/unhide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        "01a17207-8ecb-7147-8e12-30025b876888",
                                                        "unhide"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-8ecb-7147-8e12-30025b876888\",\n        \"name\": \"Sample-vmhb53462691\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"provider\": {\n            \"id\": \"01a17207-8ec3-72a0-a400-609176f7850d\",\n            \"display_name\": \"Luciano Barrows\",\n            \"phone_code\": \"966\",\n            \"phone\": \"592558098\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-8ec8-719e-8899-d8e56f3533f2\",\n            \"name\": \"Sample-tfnr88465121\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"submitted_at\": null,\n        \"reviewed_at\": null,\n        \"created_at\": \"2026-10-25T07:47:40+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17207-8ed1-71b6-97f0-69b0e6ec9192\",\n                \"service\": {\n                    \"id\": \"01a17207-8ecc-7054-b118-86ec73c2cfe9\",\n                    \"name\": \"Sample-tmcw96380473\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            },\n            {\n                \"id\": \"01a17207-8ed2-733e-8f85-12aedfeb2b08\",\n                \"service\": {\n                    \"id\": \"01a17207-8ecd-705d-bc81-90c332293113\",\n                    \"name\": \"Sample-stup12420224\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60,\n                \"current_price\": null,\n                \"is_enabled\": false\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17207-8ed3-71f2-a962-9a1c2d4b8e04\",\n                \"name\": \"Sample-ogsv01593875\"\n            }\n        ],\n        \"purchases_count\": 0,\n        \"reviewed_by\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/unhide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "unhide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/unhide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "unhide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/unhide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "unhide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/packages/:package/unhide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "packages",
                                                        ":package",
                                                        "unhide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Orders",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"customer_id\",\"Saved by GET /api/v1/admin/payments/customers.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"order_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "JSH-48",
                                                    "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "confirmed",
                                                    "description": "Order status: pending_provider, awaiting_payment, confirmed, preparing, on_the_way, arrived, in_progress, completed, rejected, expired or cancelled. — `string (enum)`, one of: `pending_provider`, `awaiting_payment`, `confirmed`, `preparing`, `on_the_way`, `arrived`, `in_progress`, `completed`, `rejected`, `expired`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[booking_type]",
                                                    "value": "scheduled",
                                                    "description": "Booking type: `instant` or `scheduled` (D3). — `string (enum)`, one of: `instant`, `scheduled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[payment_status]",
                                                    "value": "paid",
                                                    "description": "Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[order_kind]",
                                                    "value": "service",
                                                    "description": "Order kind: `service`, `package_purchase` or `package_session` (D1). — `string (enum)`, one of: `service`, `package_purchase`, `package_session`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[customer_id]",
                                                    "value": "{{customer_id}}",
                                                    "description": "Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[city_id]",
                                                    "value": "{{governorate_id}}",
                                                    "description": "Service city uuid (`governorates` = BRD city) of the order address snapshot. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest creation date, `YYYY-MM-DD` (compares `created_at`). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[scheduled_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest service date, `YYYY-MM-DD` (compares `scheduled_at`; orders without one never match). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[scheduled_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest service date, `YYYY-MM-DD`, not before `scheduled_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[delayed]",
                                                    "value": "1",
                                                    "description": "`1` only orders whose customer was alerted for the stage the order is in now (BR-21); `0` all the others. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[scheduled_at]",
                                                    "value": "asc",
                                                    "description": "Order by service time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[total_amount]",
                                                    "value": "desc",
                                                    "description": "Order by the order total including VAT. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.orders.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the order code, e.g. `JSH-48`. — `string` (optional)\n- `filters[status]` — Order status: pending_provider, awaiting_payment, confirmed, preparing, on_the_way, arrived, in_progress, completed, rejected, expired or cancelled. — `string (enum)`, one of: `pending_provider`, `awaiting_payment`, `confirmed`, `preparing`, `on_the_way`, `arrived`, `in_progress`, `completed`, `rejected`, `expired`, `cancelled` (optional)\n- `filters[booking_type]` — Booking type: `instant` or `scheduled` (D3). — `string (enum)`, one of: `instant`, `scheduled` (optional)\n- `filters[payment_status]` — Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded` (optional)\n- `filters[order_kind]` — Order kind: `service`, `package_purchase` or `package_session` (D1). — `string (enum)`, one of: `service`, `package_purchase`, `package_session` (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[customer_id]` — Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19) (optional)\n- `filters[city_id]` — Service city uuid (`governorates` = BRD city) of the order address snapshot. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `filters[created_from]` — Earliest creation date, `YYYY-MM-DD` (compares `created_at`). — `string (date)` (optional)\n- `filters[created_to]` — Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)` (optional)\n- `filters[scheduled_from]` — Earliest service date, `YYYY-MM-DD` (compares `scheduled_at`; orders without one never match). — `string (date)` (optional)\n- `filters[scheduled_to]` — Latest service date, `YYYY-MM-DD`, not before `scheduled_from`. — `string (date)` (optional)\n- `filters[delayed]` — `1` only orders whose customer was alerted for the stage the order is in now (BR-21); `0` all the others. — `boolean` (optional)\n- `sort[created_at]` — Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[scheduled_at]` — Order by service time. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[total_amount]` — Order by the order total including VAT. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{customer_id}}` — Saved by GET /api/v1/admin/payments/customers.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `order_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Order List\n- `200` Order List Unpaginated\n- `401` Order Unauthenticated — `error_code: UNAUTHENTICATED`\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Order Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Order Date Range Backwards\n- `422` Order Integer Provider Id\n- `422` Order Unknown Sort\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"orders\": [\n            {\n                \"id\": \"01a1c636-7470-7177-ae05-a92b646eb4f6\",\n                \"code\": \"JSH-bnbt81699703\",\n                \"customer\": {\n                    \"id\": \"01a1c636-7475-7086-b383-a70bff67bf0c\",\n                    \"user_id\": \"01a1c636-7475-7086-b383-a70c003be545\",\n                    \"full_name\": \"Shyanne Wiza\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-7479-730c-a02d-5aaf0282a6f1\",\n                    \"display_name\": \"Dr. Kirk Pollich\"\n                },\n                \"order_kind\": {\n                    \"value\": \"package_purchase\",\n                    \"label\": \"Package purchase\"\n                },\n                \"booking_type\": {\n                    \"value\": \"instant\",\n                    \"label\": \"Instant\"\n                },\n                \"scheduled_at\": null,\n                \"created_at\": \"2026-10-25T07:00:00+00:00\",\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"payment_status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"total_amount\": \"0.00\",\n                \"address\": \"76923 Yolanda Meadow\\nCadenland, WV 61502-6377\",\n                \"travel_method\": null,\n                \"has_chat\": false,\n                \"is_delayed\": false\n            },\n            {\n                \"id\": \"01a1c636-7467-71d6-a8c4-6f9f2e07e0ec\",\n                \"code\": \"JSH-nziu41111237\",\n                \"customer\": {\n                    \"id\": \"01a1c636-745f-72a9-aace-d11d3d0aa377\",\n                    \"user_id\": \"01a1c636-7460-7006-96db-b35010d78156\",\n                    \"full_name\": \"Manuel Hilpert\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-7463-72f3-8fca-c91f56acad73\",\n                    \"display_name\": \"Noor Studio\"\n                },\n                \"order_kind\": {\n                    \"value\": \"service\",\n                    \"label\": \"Service\"\n                },\n                \"booking_type\": {\n                    \"value\": \"scheduled\",\n                    \"label\": \"Scheduled\"\n                },\n                \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\",\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"payment_status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"total_amount\": \"150.00\",\n                \"address\": \"Olaya, Riyadh\",\n                \"travel_method\": {\n                    \"value\": \"self\",\n                    \"label\": \"Independent arrival\"\n                },\n                \"has_chat\": false,\n                \"is_delayed\": false\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/orders?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/orders?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/orders?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/orders\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Order List",
                                            "_joshen": {
                                                "route": "admin.orders.index",
                                                "name": "Order List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_list_tile_shows_the_brd_columns_with_stable_keys"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"orders\": [\n            {\n                \"id\": \"01a1c636-7470-7177-ae05-a92b646eb4f6\",\n                \"code\": \"JSH-bnbt81699703\",\n                \"customer\": {\n                    \"id\": \"01a1c636-7475-7086-b383-a70bff67bf0c\",\n                    \"user_id\": \"01a1c636-7475-7086-b383-a70c003be545\",\n                    \"full_name\": \"Shyanne Wiza\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-7479-730c-a02d-5aaf0282a6f1\",\n                    \"display_name\": \"Dr. Kirk Pollich\"\n                },\n                \"order_kind\": {\n                    \"value\": \"package_purchase\",\n                    \"label\": \"Package purchase\"\n                },\n                \"booking_type\": {\n                    \"value\": \"instant\",\n                    \"label\": \"Instant\"\n                },\n                \"scheduled_at\": null,\n                \"created_at\": \"2026-10-25T07:00:00+00:00\",\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"payment_status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"total_amount\": \"0.00\",\n                \"address\": \"76923 Yolanda Meadow\\nCadenland, WV 61502-6377\",\n                \"travel_method\": null,\n                \"has_chat\": false,\n                \"is_delayed\": false\n            },\n            {\n                \"id\": \"01a1c636-7467-71d6-a8c4-6f9f2e07e0ec\",\n                \"code\": \"JSH-nziu41111237\",\n                \"customer\": {\n                    \"id\": \"01a1c636-745f-72a9-aace-d11d3d0aa377\",\n                    \"user_id\": \"01a1c636-7460-7006-96db-b35010d78156\",\n                    \"full_name\": \"Manuel Hilpert\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-7463-72f3-8fca-c91f56acad73\",\n                    \"display_name\": \"Noor Studio\"\n                },\n                \"order_kind\": {\n                    \"value\": \"service\",\n                    \"label\": \"Service\"\n                },\n                \"booking_type\": {\n                    \"value\": \"scheduled\",\n                    \"label\": \"Scheduled\"\n                },\n                \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\",\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"payment_status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"total_amount\": \"150.00\",\n                \"address\": \"Olaya, Riyadh\",\n                \"travel_method\": {\n                    \"value\": \"self\",\n                    \"label\": \"Independent arrival\"\n                },\n                \"has_chat\": false,\n                \"is_delayed\": false\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/orders?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/orders?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/orders?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/orders\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order List Unpaginated",
                                            "_joshen": {
                                                "route": "admin.orders.index",
                                                "name": "Order List Unpaginated",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_list_is_paginated_and_can_be_unpaginated"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1c636-76ed-72c0-95f7-c7538777b2bb\",\n            \"code\": \"JSH-rzct74301286\",\n            \"customer\": {\n                \"id\": \"01a1c636-76f2-707d-aa2b-ed86edaa9644\",\n                \"user_id\": \"01a1c636-76f2-707d-aa2b-ed86ee42999d\",\n                \"full_name\": \"Hayley Ferry II\"\n            },\n            \"provider\": {\n                \"id\": \"01a1c636-76f4-729e-9422-4e3b07c08e33\",\n                \"display_name\": \"Amari Heaney\"\n            },\n            \"order_kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"scheduled_at\": null,\n            \"created_at\": \"2026-10-25T07:00:00+00:00\",\n            \"status\": {\n                \"value\": \"confirmed\",\n                \"label\": \"Confirmed\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"total_amount\": \"0.00\",\n            \"address\": \"24456 Prosacco Expressway Apt. 360\\nGeovannyton, NJ 25836-0734\",\n            \"travel_method\": null,\n            \"has_chat\": false,\n            \"is_delayed\": false\n        },\n        {\n            \"id\": \"01a1c636-76e3-702f-a1c1-cba9d80bfe02\",\n            \"code\": \"JSH-psgf45145270\",\n            \"customer\": {\n                \"id\": \"01a1c636-76e7-7278-a91e-dd84edabb9e2\",\n                \"user_id\": \"01a1c636-76e7-7278-a91e-dd84ee080306\",\n                \"full_name\": \"Devin Parker\"\n            },\n            \"provider\": {\n                \"id\": \"01a1c636-76ea-702b-b68e-98212f1ef9fd\",\n                \"display_name\": \"Mr. Terence Brakus DDS\"\n            },\n            \"order_kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"scheduled_at\": null,\n            \"created_at\": \"2026-10-25T07:00:00+00:00\",\n            \"status\": {\n                \"value\": \"confirmed\",\n                \"label\": \"Confirmed\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"total_amount\": \"0.00\",\n            \"address\": \"90403 Padberg Ports Suite 575\\nNorth Davinberg, TN 26840\",\n            \"travel_method\": null,\n            \"has_chat\": false,\n            \"is_delayed\": false\n        },\n        {\n            \"id\": \"01a1c636-76d5-71ac-a12c-86cc419f4914\",\n            \"code\": \"JSH-kpbe89082648\",\n            \"customer\": {\n                \"id\": \"01a1c636-76db-7017-9299-43d7ac76378e\",\n                \"user_id\": \"01a1c636-76db-7017-9299-43d7ad06a3b1\",\n                \"full_name\": \"Moriah Schowalter\"\n            },\n            \"provider\": {\n                \"id\": \"01a1c636-76df-712e-b0c3-b51a0711f102\",\n                \"display_name\": \"Jailyn Kessler\"\n            },\n            \"order_kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"scheduled_at\": null,\n            \"created_at\": \"2026-10-25T07:00:00+00:00\",\n            \"status\": {\n                \"value\": \"confirmed\",\n                \"label\": \"Confirmed\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"total_amount\": \"0.00\",\n            \"address\": \"67360 Kobe Mount\\nEinartown, CT 43454-2175\",\n            \"travel_method\": null,\n            \"has_chat\": false,\n            \"is_delayed\": false\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Order Unauthenticated",
                                            "_joshen": {
                                                "route": "admin.orders.index",
                                                "name": "Order Unauthenticated",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_a_supervisor_needs_the_orders_section"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "confirmed",
                                                            "description": "Order status: pending_provider, awaiting_payment, confirmed, preparing, on_the_way, arrived, in_progress, completed, rejected, expired or cancelled. — `string (enum)`, one of: `pending_provider`, `awaiting_payment`, `confirmed`, `preparing`, `on_the_way`, `arrived`, `in_progress`, `completed`, `rejected`, `expired`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[booking_type]",
                                                            "value": "scheduled",
                                                            "description": "Booking type: `instant` or `scheduled` (D3). — `string (enum)`, one of: `instant`, `scheduled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[payment_status]",
                                                            "value": "paid",
                                                            "description": "Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_kind]",
                                                            "value": "service",
                                                            "description": "Order kind: `service`, `package_purchase` or `package_session` (D1). — `string (enum)`, one of: `service`, `package_purchase`, `package_session`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Service city uuid (`governorates` = BRD city) of the order address snapshot. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD` (compares `created_at`). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[scheduled_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest service date, `YYYY-MM-DD` (compares `scheduled_at`; orders without one never match). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[scheduled_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest service date, `YYYY-MM-DD`, not before `scheduled_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[delayed]",
                                                            "value": "1",
                                                            "description": "`1` only orders whose customer was alerted for the stage the order is in now (BR-21); `0` all the others. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[scheduled_at]",
                                                            "value": "asc",
                                                            "description": "Order by service time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the order total including VAT. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Order Forbidden",
                                            "_joshen": {
                                                "route": "admin.orders.index",
                                                "name": "Order Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_a_supervisor_needs_the_orders_section"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.orders.index\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "confirmed",
                                                            "description": "Order status: pending_provider, awaiting_payment, confirmed, preparing, on_the_way, arrived, in_progress, completed, rejected, expired or cancelled. — `string (enum)`, one of: `pending_provider`, `awaiting_payment`, `confirmed`, `preparing`, `on_the_way`, `arrived`, `in_progress`, `completed`, `rejected`, `expired`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[booking_type]",
                                                            "value": "scheduled",
                                                            "description": "Booking type: `instant` or `scheduled` (D3). — `string (enum)`, one of: `instant`, `scheduled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[payment_status]",
                                                            "value": "paid",
                                                            "description": "Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_kind]",
                                                            "value": "service",
                                                            "description": "Order kind: `service`, `package_purchase` or `package_session` (D1). — `string (enum)`, one of: `service`, `package_purchase`, `package_session`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Service city uuid (`governorates` = BRD city) of the order address snapshot. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD` (compares `created_at`). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[scheduled_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest service date, `YYYY-MM-DD` (compares `scheduled_at`; orders without one never match). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[scheduled_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest service date, `YYYY-MM-DD`, not before `scheduled_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[delayed]",
                                                            "value": "1",
                                                            "description": "`1` only orders whose customer was alerted for the stage the order is in now (BR-21); `0` all the others. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[scheduled_at]",
                                                            "value": "asc",
                                                            "description": "Order by service time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the order total including VAT. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "confirmed",
                                                            "description": "Order status: pending_provider, awaiting_payment, confirmed, preparing, on_the_way, arrived, in_progress, completed, rejected, expired or cancelled. — `string (enum)`, one of: `pending_provider`, `awaiting_payment`, `confirmed`, `preparing`, `on_the_way`, `arrived`, `in_progress`, `completed`, `rejected`, `expired`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[booking_type]",
                                                            "value": "scheduled",
                                                            "description": "Booking type: `instant` or `scheduled` (D3). — `string (enum)`, one of: `instant`, `scheduled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[payment_status]",
                                                            "value": "paid",
                                                            "description": "Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_kind]",
                                                            "value": "service",
                                                            "description": "Order kind: `service`, `package_purchase` or `package_session` (D1). — `string (enum)`, one of: `service`, `package_purchase`, `package_session`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Service city uuid (`governorates` = BRD city) of the order address snapshot. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD` (compares `created_at`). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[scheduled_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest service date, `YYYY-MM-DD` (compares `scheduled_at`; orders without one never match). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[scheduled_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest service date, `YYYY-MM-DD`, not before `scheduled_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[delayed]",
                                                            "value": "1",
                                                            "description": "`1` only orders whose customer was alerted for the stage the order is in now (BR-21); `0` all the others. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[scheduled_at]",
                                                            "value": "asc",
                                                            "description": "Order by service time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the order total including VAT. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Order Date Range Backwards",
                                            "_joshen": {
                                                "route": "admin.orders.index",
                                                "name": "Order Date Range Backwards",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders",
                                                    "query": {
                                                        "filters": {
                                                            "created_from": "2026-10-15",
                                                            "created_to": "2026-10-05"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_date_ranges_compare_created_at_and_scheduled_at"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders?filters[created_from]=2026-10-15&filters[created_to]=2026-10-05",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-15"
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-05"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.created to field must be a date after or equal to filters.created from.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.created_to\": [\n                \"The filters.created to field must be a date after or equal to filters.created from.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Order Integer Provider Id",
                                            "_joshen": {
                                                "route": "admin.orders.index",
                                                "name": "Order Integer Provider Id",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders",
                                                    "query": {
                                                        "filters": {
                                                            "provider_id": "88"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_filters_by_provider_customer_and_city_uuids"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders?filters[provider_id]=88",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "88"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.provider id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.provider_id\": [\n                \"The filters.provider id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Order Unknown Sort",
                                            "_joshen": {
                                                "route": "admin.orders.index",
                                                "name": "Order Unknown Sort",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders",
                                                    "query": {
                                                        "sort": {
                                                            "code": "asc"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_sorts_by_created_at_scheduled_at_and_total"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders?sort[code]=asc",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "sort[code]",
                                                            "value": "asc"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): sort.code.\",\n    \"data\": {\n        \"errors\": {\n            \"sort\": [\n                \"Unsupported input key(s): sort.code.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "order_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "customer_id",
                                                "set_by": [
                                                    "admin.payments.customers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments/customers."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"order_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/orders/:order",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "orders",
                                                ":order"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.orders.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `order_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Admin order details with invoice summary\n- `200` Order Details\n- `200` Order Details Cancelled Refunded\n- `200` Order details with a conversation\n- `200` Order details with trip\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Order Not Found\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba25-efc2-733a-b423-7bc419d693f9\",\n        \"code\": \"JSH-ytvh93829127\",\n        \"customer\": {\n            \"id\": \"01a1ba25-efbb-7115-9050-47a753443ac4\",\n            \"full_name\": \"Alexane Keebler Jr.\",\n            \"phone_code\": \"966\",\n            \"phone\": \"580369646\"\n        },\n        \"provider\": {\n            \"id\": \"01a1ba25-efbf-70dc-b011-23eb3a27f7b7\",\n            \"display_name\": \"Dr. Reed Dach\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"phone_code\": \"966\",\n            \"phone\": \"597783798\"\n        },\n        \"order_kind\": {\n            \"value\": \"service\",\n            \"label\": \"Service\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"scheduled_at\": null,\n        \"created_at\": \"2026-11-08T07:53:30+00:00\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"total_amount\": \"126.50\",\n        \"address\": \"9864 Luettgen Light\\nWest Woodrow, VT 03460\",\n        \"travel_method\": null,\n        \"has_chat\": false,\n        \"is_delayed\": false,\n        \"is_group\": false,\n        \"people\": [],\n        \"services\": [\n            {\n                \"id\": \"01a1ba25-efeb-712c-9e3a-6ba69fda3d4a\",\n                \"person_id\": null,\n                \"name\": \"Nail Care\",\n                \"duration_min\": null,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"quantity\": 1,\n                \"line_total\": \"100.00\",\n                \"options\": [],\n                \"package\": null,\n                \"allocated_session_value\": null\n            }\n        ],\n        \"amounts\": {\n            \"services_amount\": \"100.00\",\n            \"package_amount\": \"0.00\",\n            \"delivery_fee\": \"10.00\",\n            \"discount_amount\": \"0.00\",\n            \"vat_amount\": \"16.50\",\n            \"total_amount\": \"126.50\"\n        },\n        \"coupon\": null,\n        \"service_location\": {\n            \"text\": \"9864 Luettgen Light\\nWest Woodrow, VT 03460\",\n            \"lat\": null,\n            \"lng\": null,\n            \"city\": {\n                \"id\": \"01a1ba25-efc2-733a-b423-7bc41a5903f5\",\n                \"name\": \"Sample-vfsw38801846\"\n            },\n            \"district\": null\n        },\n        \"estimated_duration_min\": null,\n        \"eta_minutes\": null,\n        \"notes_to_provider\": null,\n        \"driver\": null,\n        \"dispatch\": null,\n        \"trip\": null,\n        \"payments\": [\n            {\n                \"id\": \"01a1ba25-efff-70ed-bd44-b0d1180e068f\",\n                \"method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"126.50\",\n                \"wallet_amount\": \"0.00\",\n                \"gateway_amount\": \"126.50\",\n                \"gateway\": null,\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-08T07:53:30+00:00\"\n            }\n        ],\n        \"invoice\": {\n            \"id\": \"01a1ba25-f004-70c5-ab8b-42d4d01416ff\",\n            \"invoice_no\": \"INV-100001\",\n            \"subtotal\": \"100.00\",\n            \"delivery_fee\": \"10.00\",\n            \"discount\": \"0.00\",\n            \"vat_amount\": \"16.50\",\n            \"total\": \"126.50\",\n            \"seller\": {\n                \"name\": \"Joshen / جوشن\",\n                \"vat_number\": \"300000000000003\"\n            },\n            \"payment_method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"order_code\": \"JSH-ytvh93829127\",\n            \"items\": [\n                {\n                    \"name\": \"Nail Care\",\n                    \"quantity\": 1,\n                    \"unit_price\": \"100.00\",\n                    \"options_price\": \"0.00\",\n                    \"line_total\": \"100.00\"\n                }\n            ],\n            \"plan_name\": null,\n            \"qr_payload\": \"ARFKb3NoZW4gLyDYrNmI2LTZhgIPMzAwMDAwMDAwMDAwMDAzAxkyMDI2LTExLTA4VDA3OjUzOjMwKzAwOjAwBAYxMjYuNTAFBTE2LjUw\",\n            \"issued_at\": \"2026-11-08T07:53:30+00:00\"\n        },\n        \"confirmation\": {\n            \"provider_response_due_at\": null,\n            \"provider_responded_at\": null,\n            \"rejection_reason\": null,\n            \"payment_due_at\": null,\n            \"confirmed_at\": null\n        },\n        \"execution\": {\n            \"departed_at\": null,\n            \"arrived_at\": null,\n            \"started_at\": null,\n            \"completed_at\": null\n        },\n        \"delay_alerted_at\": null,\n        \"status_history\": [\n            {\n                \"id\": \"7d67efea-db49-11f1-bfea-14b31f1fdf6a\",\n                \"from\": null,\n                \"to\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"actor\": {\n                    \"type\": {\n                        \"value\": \"system\",\n                        \"label\": \"System\"\n                    },\n                    \"id\": null,\n                    \"name\": null\n                },\n                \"note\": null,\n                \"at\": \"2026-11-08T07:53:30+00:00\"\n            }\n        ],\n        \"notifications\": [],\n        \"chat_status\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"refunds\": [],\n        \"updated_at\": \"2026-11-08T07:53:30+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Admin order details with invoice summary",
                                            "_joshen": {
                                                "route": "admin.orders.show",
                                                "name": "Admin order details with invoice summary",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders/01a1ba25-efc2-733a-b423-7bc419d693f9",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\OrderInvoiceAdminTest::test_ac_admin_013_admin_order_details_includes_invoice_summary"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/01a1ba25-efc2-733a-b423-7bc419d693f9",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        "01a1ba25-efc2-733a-b423-7bc419d693f9"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba25-efc2-733a-b423-7bc419d693f9\",\n        \"code\": \"JSH-ytvh93829127\",\n        \"customer\": {\n            \"id\": \"01a1ba25-efbb-7115-9050-47a753443ac4\",\n            \"full_name\": \"Alexane Keebler Jr.\",\n            \"phone_code\": \"966\",\n            \"phone\": \"580369646\"\n        },\n        \"provider\": {\n            \"id\": \"01a1ba25-efbf-70dc-b011-23eb3a27f7b7\",\n            \"display_name\": \"Dr. Reed Dach\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"phone_code\": \"966\",\n            \"phone\": \"597783798\"\n        },\n        \"order_kind\": {\n            \"value\": \"service\",\n            \"label\": \"Service\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"scheduled_at\": null,\n        \"created_at\": \"2026-11-08T07:53:30+00:00\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"total_amount\": \"126.50\",\n        \"address\": \"9864 Luettgen Light\\nWest Woodrow, VT 03460\",\n        \"travel_method\": null,\n        \"has_chat\": false,\n        \"is_delayed\": false,\n        \"is_group\": false,\n        \"people\": [],\n        \"services\": [\n            {\n                \"id\": \"01a1ba25-efeb-712c-9e3a-6ba69fda3d4a\",\n                \"person_id\": null,\n                \"name\": \"Nail Care\",\n                \"duration_min\": null,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"quantity\": 1,\n                \"line_total\": \"100.00\",\n                \"options\": [],\n                \"package\": null,\n                \"allocated_session_value\": null\n            }\n        ],\n        \"amounts\": {\n            \"services_amount\": \"100.00\",\n            \"package_amount\": \"0.00\",\n            \"delivery_fee\": \"10.00\",\n            \"discount_amount\": \"0.00\",\n            \"vat_amount\": \"16.50\",\n            \"total_amount\": \"126.50\"\n        },\n        \"coupon\": null,\n        \"service_location\": {\n            \"text\": \"9864 Luettgen Light\\nWest Woodrow, VT 03460\",\n            \"lat\": null,\n            \"lng\": null,\n            \"city\": {\n                \"id\": \"01a1ba25-efc2-733a-b423-7bc41a5903f5\",\n                \"name\": \"Sample-vfsw38801846\"\n            },\n            \"district\": null\n        },\n        \"estimated_duration_min\": null,\n        \"eta_minutes\": null,\n        \"notes_to_provider\": null,\n        \"driver\": null,\n        \"dispatch\": null,\n        \"trip\": null,\n        \"payments\": [\n            {\n                \"id\": \"01a1ba25-efff-70ed-bd44-b0d1180e068f\",\n                \"method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"126.50\",\n                \"wallet_amount\": \"0.00\",\n                \"gateway_amount\": \"126.50\",\n                \"gateway\": null,\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-08T07:53:30+00:00\"\n            }\n        ],\n        \"invoice\": {\n            \"id\": \"01a1ba25-f004-70c5-ab8b-42d4d01416ff\",\n            \"invoice_no\": \"INV-100001\",\n            \"subtotal\": \"100.00\",\n            \"delivery_fee\": \"10.00\",\n            \"discount\": \"0.00\",\n            \"vat_amount\": \"16.50\",\n            \"total\": \"126.50\",\n            \"seller\": {\n                \"name\": \"Joshen / جوشن\",\n                \"vat_number\": \"300000000000003\"\n            },\n            \"payment_method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"order_code\": \"JSH-ytvh93829127\",\n            \"items\": [\n                {\n                    \"name\": \"Nail Care\",\n                    \"quantity\": 1,\n                    \"unit_price\": \"100.00\",\n                    \"options_price\": \"0.00\",\n                    \"line_total\": \"100.00\"\n                }\n            ],\n            \"plan_name\": null,\n            \"qr_payload\": \"ARFKb3NoZW4gLyDYrNmI2LTZhgIPMzAwMDAwMDAwMDAwMDAzAxkyMDI2LTExLTA4VDA3OjUzOjMwKzAwOjAwBAYxMjYuNTAFBTE2LjUw\",\n            \"issued_at\": \"2026-11-08T07:53:30+00:00\"\n        },\n        \"confirmation\": {\n            \"provider_response_due_at\": null,\n            \"provider_responded_at\": null,\n            \"rejection_reason\": null,\n            \"payment_due_at\": null,\n            \"confirmed_at\": null\n        },\n        \"execution\": {\n            \"departed_at\": null,\n            \"arrived_at\": null,\n            \"started_at\": null,\n            \"completed_at\": null\n        },\n        \"delay_alerted_at\": null,\n        \"status_history\": [\n            {\n                \"id\": \"7d67efea-db49-11f1-bfea-14b31f1fdf6a\",\n                \"from\": null,\n                \"to\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"actor\": {\n                    \"type\": {\n                        \"value\": \"system\",\n                        \"label\": \"System\"\n                    },\n                    \"id\": null,\n                    \"name\": null\n                },\n                \"note\": null,\n                \"at\": \"2026-11-08T07:53:30+00:00\"\n            }\n        ],\n        \"notifications\": [],\n        \"chat_status\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"refunds\": [],\n        \"updated_at\": \"2026-11-08T07:53:30+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order Details",
                                            "_joshen": {
                                                "route": "admin.orders.show",
                                                "name": "Order Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders/01a1c636-8791-736f-9834-5cd3b6b226b4",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_details_show_every_brd_section_without_identity_numbers"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/01a1c636-8791-736f-9834-5cd3b6b226b4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        "01a1c636-8791-736f-9834-5cd3b6b226b4"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-8791-736f-9834-5cd3b6b226b4\",\n        \"code\": \"JSH-lfvn60584149\",\n        \"customer\": {\n            \"id\": \"01a1c636-8784-7139-8943-c0b716c175e1\",\n            \"user_id\": \"01a1c636-8784-7139-8943-c0b717389921\",\n            \"full_name\": \"Mr. Efren Bruen\",\n            \"phone_code\": \"966\",\n            \"phone\": \"524160225\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c636-8788-725e-8662-c81646522181\",\n            \"display_name\": \"Elmore Breitenberg\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"phone_code\": \"966\",\n            \"phone\": \"574477527\"\n        },\n        \"order_kind\": {\n            \"value\": \"service\",\n            \"label\": \"Service\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"total_amount\": \"150.00\",\n        \"address\": \"Olaya, Riyadh\",\n        \"travel_method\": {\n            \"value\": \"self\",\n            \"label\": \"Independent arrival\"\n        },\n        \"has_chat\": false,\n        \"is_delayed\": false,\n        \"is_group\": true,\n        \"people\": [\n            {\n                \"id\": \"01a1c636-8793-70c7-a51f-c898bcdd63c2\",\n                \"label\": \"Me\",\n                \"is_customer\": true\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c636-8795-7362-b7da-8c935d9cdd06\",\n                \"person_id\": \"01a1c636-8793-70c7-a51f-c898bcdd63c2\",\n                \"name\": \"Makeup\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"quantity\": 1,\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c636-87a5-7182-a8c3-53cd372c5f28\",\n                        \"name\": \"Lashes\",\n                        \"price\": \"30.00\"\n                    }\n                ],\n                \"package\": null,\n                \"allocated_session_value\": null\n            }\n        ],\n        \"amounts\": {\n            \"services_amount\": \"130.00\",\n            \"package_amount\": \"0.00\",\n            \"delivery_fee\": \"20.00\",\n            \"discount_amount\": \"0.00\",\n            \"vat_amount\": \"0.00\",\n            \"total_amount\": \"150.00\"\n        },\n        \"coupon\": null,\n        \"service_location\": {\n            \"text\": \"Olaya, Riyadh\",\n            \"lat\": null,\n            \"lng\": null,\n            \"city\": {\n                \"id\": \"01a1c636-878b-719d-b4b0-5a0f856a38ba\",\n                \"name\": \"Sample-qixb64588878\"\n            },\n            \"district\": null\n        },\n        \"estimated_duration_min\": 90,\n        \"eta_minutes\": null,\n        \"notes_to_provider\": \"Gate B\",\n        \"driver\": null,\n        \"dispatch\": null,\n        \"trip\": null,\n        \"payments\": [\n            {\n                \"id\": \"01a1c636-87bb-7150-a62d-42df8755edbf\",\n                \"method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"150.00\",\n                \"wallet_amount\": \"0.00\",\n                \"gateway_amount\": \"150.00\",\n                \"gateway\": \"sim\",\n                \"paid_at\": \"2026-10-25T07:00:00+00:00\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"invoice\": null,\n        \"confirmation\": {\n            \"provider_response_due_at\": null,\n            \"provider_responded_at\": null,\n            \"rejection_reason\": null,\n            \"payment_due_at\": null,\n            \"confirmed_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"execution\": {\n            \"departed_at\": null,\n            \"arrived_at\": null,\n            \"started_at\": null,\n            \"completed_at\": null\n        },\n        \"delay_alerted_at\": null,\n        \"status_history\": [\n            {\n                \"id\": \"c5913149-dd20-11f1-818f-14b31f1fdf6a\",\n                \"from\": null,\n                \"to\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"actor\": {\n                    \"type\": {\n                        \"value\": \"system\",\n                        \"label\": \"System\"\n                    },\n                    \"id\": null,\n                    \"name\": null\n                },\n                \"note\": null,\n                \"at\": \"2026-11-10T16:07:04+00:00\"\n            }\n        ],\n        \"notifications\": [\n            {\n                \"id\": \"01a1c636-87bd-7047-a959-67f66259379a\",\n                \"event\": {\n                    \"value\": \"order_confirmed\",\n                    \"label\": \"Order confirmed\"\n                },\n                \"recipient_app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer app\"\n                },\n                \"sent_at\": \"2026-10-25T07:00:00+00:00\",\n                \"read_at\": null\n            }\n        ],\n        \"chat_status\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"refunds\": [],\n        \"updated_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order Details Cancelled Refunded",
                                            "_joshen": {
                                                "route": "admin.orders.show",
                                                "name": "Order Details Cancelled Refunded",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders/01a1c636-911c-71fc-ac17-d1bc327357c7",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_details_show_cancellation_and_refund_status"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/01a1c636-911c-71fc-ac17-d1bc327357c7",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        "01a1c636-911c-71fc-ac17-d1bc327357c7"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-911c-71fc-ac17-d1bc327357c7\",\n        \"code\": \"JSH-pqwd91106068\",\n        \"customer\": {\n            \"id\": \"01a1c636-9122-72ff-a232-42add337385b\",\n            \"user_id\": \"01a1c636-9122-72ff-a232-42add41f4581\",\n            \"full_name\": \"Prof. Julie Luettgen I\",\n            \"phone_code\": \"966\",\n            \"phone\": \"558831123\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c636-9126-72ec-a42e-dc789b3b362f\",\n            \"display_name\": \"Candelario Wolff\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"phone_code\": \"966\",\n            \"phone\": \"575438055\"\n        },\n        \"order_kind\": {\n            \"value\": \"service\",\n            \"label\": \"Service\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"scheduled_at\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"partially_refunded\",\n            \"label\": \"Partially refunded\"\n        },\n        \"total_amount\": \"150.00\",\n        \"address\": \"725 Corkery Ford Apt. 389\\nReaganport, VA 97050-3650\",\n        \"travel_method\": null,\n        \"has_chat\": false,\n        \"is_delayed\": false,\n        \"is_group\": false,\n        \"people\": [],\n        \"services\": [],\n        \"amounts\": {\n            \"services_amount\": \"130.00\",\n            \"package_amount\": \"0.00\",\n            \"delivery_fee\": \"20.00\",\n            \"discount_amount\": \"0.00\",\n            \"vat_amount\": \"0.00\",\n            \"total_amount\": \"150.00\"\n        },\n        \"coupon\": null,\n        \"service_location\": {\n            \"text\": \"725 Corkery Ford Apt. 389\\nReaganport, VA 97050-3650\",\n            \"lat\": null,\n            \"lng\": null,\n            \"city\": {\n                \"id\": \"01a1c636-911d-73d7-99fd-2d14740017c5\",\n                \"name\": \"Sample-rjfy24181171\"\n            },\n            \"district\": null\n        },\n        \"estimated_duration_min\": null,\n        \"eta_minutes\": null,\n        \"notes_to_provider\": null,\n        \"driver\": null,\n        \"dispatch\": null,\n        \"trip\": null,\n        \"payments\": [\n            {\n                \"id\": \"01a1c636-912b-73d8-a206-5b56f9e22369\",\n                \"method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"status\": {\n                    \"value\": \"partially_refunded\",\n                    \"label\": \"Partially refunded\"\n                },\n                \"amount\": \"150.00\",\n                \"wallet_amount\": \"0.00\",\n                \"gateway_amount\": \"150.00\",\n                \"gateway\": null,\n                \"paid_at\": null,\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"invoice\": null,\n        \"confirmation\": {\n            \"provider_response_due_at\": null,\n            \"provider_responded_at\": null,\n            \"rejection_reason\": null,\n            \"payment_due_at\": null,\n            \"confirmed_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"execution\": {\n            \"departed_at\": null,\n            \"arrived_at\": null,\n            \"started_at\": null,\n            \"completed_at\": null\n        },\n        \"delay_alerted_at\": null,\n        \"status_history\": [\n            {\n                \"id\": \"c707d612-dd20-11f1-818f-14b31f1fdf6a\",\n                \"from\": null,\n                \"to\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"actor\": {\n                    \"type\": {\n                        \"value\": \"system\",\n                        \"label\": \"System\"\n                    },\n                    \"id\": null,\n                    \"name\": null\n                },\n                \"note\": null,\n                \"at\": \"2026-11-10T16:07:07+00:00\"\n            }\n        ],\n        \"notifications\": [],\n        \"chat_status\": null,\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"reason\": \"Changed my mind\",\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"10.00\",\n            \"rule_id\": null\n        },\n        \"refunds\": [\n            {\n                \"id\": \"01a1c636-912d-7175-a437-7b0a65128510\",\n                \"amount\": \"140.00\",\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Refunded\"\n                },\n                \"destination\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"reason\": {\n                    \"value\": \"customer_cancel\",\n                    \"label\": \"Customer cancelled\"\n                },\n                \"processed_at\": \"2026-10-25T07:00:00+00:00\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order details with a conversation",
                                            "_joshen": {
                                                "route": "admin.orders.show",
                                                "name": "Order details with a conversation",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders/01a1c636-e879-73a9-8429-a1a99fe14e2e",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ConversationMonitorTest::test_ac_admin_013_reading_history_is_audited_and_never_marks_read"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/01a1c636-e879-73a9-8429-a1a99fe14e2e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        "01a1c636-e879-73a9-8429-a1a99fe14e2e"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-e879-73a9-8429-a1a99fe14e2e\",\n        \"code\": \"JSH-umxz14725067\",\n        \"customer\": {\n            \"id\": \"01a1c636-e872-703a-987c-cfe057ce52f5\",\n            \"user_id\": \"01a1c636-e872-703a-987c-cfe057e64ec0\",\n            \"full_name\": \"Alverta Parisian MD\",\n            \"phone_code\": \"966\",\n            \"phone\": \"522603574\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c636-e876-726f-9964-1b4257729241\",\n            \"display_name\": \"Braulio Toy\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"phone_code\": \"966\",\n            \"phone\": \"550555514\"\n        },\n        \"order_kind\": {\n            \"value\": \"service\",\n            \"label\": \"Service\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"scheduled_at\": null,\n        \"created_at\": \"2026-11-10T16:07:29+00:00\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"total_amount\": \"0.00\",\n        \"address\": \"660 Dimitri Haven Apt. 035\\nNorth Ena, PA 28108-3821\",\n        \"travel_method\": null,\n        \"has_chat\": true,\n        \"is_delayed\": false,\n        \"is_group\": false,\n        \"people\": [],\n        \"services\": [],\n        \"amounts\": {\n            \"services_amount\": \"0.00\",\n            \"package_amount\": \"0.00\",\n            \"delivery_fee\": \"0.00\",\n            \"discount_amount\": \"0.00\",\n            \"vat_amount\": \"0.00\",\n            \"total_amount\": \"0.00\"\n        },\n        \"coupon\": null,\n        \"service_location\": {\n            \"text\": \"660 Dimitri Haven Apt. 035\\nNorth Ena, PA 28108-3821\",\n            \"lat\": null,\n            \"lng\": null,\n            \"city\": {\n                \"id\": \"01a1c636-e879-73a9-8429-a1a9a06c05b3\",\n                \"name\": \"Sample-dcdt27611292\"\n            },\n            \"district\": null\n        },\n        \"estimated_duration_min\": null,\n        \"eta_minutes\": null,\n        \"notes_to_provider\": null,\n        \"driver\": null,\n        \"dispatch\": null,\n        \"trip\": null,\n        \"payments\": [],\n        \"invoice\": null,\n        \"confirmation\": {\n            \"provider_response_due_at\": null,\n            \"provider_responded_at\": null,\n            \"rejection_reason\": null,\n            \"payment_due_at\": null,\n            \"confirmed_at\": null\n        },\n        \"execution\": {\n            \"departed_at\": null,\n            \"arrived_at\": null,\n            \"started_at\": null,\n            \"completed_at\": null\n        },\n        \"delay_alerted_at\": null,\n        \"status_history\": [\n            {\n                \"id\": \"d45b4f1a-dd20-11f1-818f-14b31f1fdf6a\",\n                \"from\": null,\n                \"to\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"actor\": {\n                    \"type\": {\n                        \"value\": \"system\",\n                        \"label\": \"System\"\n                    },\n                    \"id\": null,\n                    \"name\": null\n                },\n                \"note\": null,\n                \"at\": \"2026-11-10T16:07:29+00:00\"\n            }\n        ],\n        \"notifications\": [],\n        \"chat_status\": {\n            \"conversation_id\": \"01a1c636-e880-7049-b81c-e521106e7954\",\n            \"status\": {\n                \"value\": \"open\",\n                \"label\": \"Open\"\n            },\n            \"messages_count\": 2,\n            \"last_message_at\": \"2026-11-10T16:02:29+00:00\"\n        },\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"refunds\": [],\n        \"updated_at\": \"2026-11-10T16:07:29+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order details with trip",
                                            "_joshen": {
                                                "route": "admin.orders.show",
                                                "name": "Order details with trip",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders/01a1c636-6d89-717c-99bf-1a407042d83f",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_details_include_latest_non_cancelled_trip_or_null"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/01a1c636-6d89-717c-99bf-1a407042d83f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        "01a1c636-6d89-717c-99bf-1a407042d83f"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-6d89-717c-99bf-1a407042d83f\",\n        \"code\": \"JSH-ghny37581062\",\n        \"customer\": {\n            \"id\": \"01a1c636-6d8f-707e-8a3b-9f1068e7fa4b\",\n            \"user_id\": \"01a1c636-6d8f-707e-8a3b-9f106990768f\",\n            \"full_name\": \"Mr. Woodrow West\",\n            \"phone_code\": \"966\",\n            \"phone\": \"509068358\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c636-6d92-72ff-9db3-5c175d6c9695\",\n            \"display_name\": \"Prof. Brendon Roob\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"phone_code\": \"966\",\n            \"phone\": \"545655806\"\n        },\n        \"order_kind\": {\n            \"value\": \"service\",\n            \"label\": \"Service\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"scheduled_at\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"total_amount\": \"0.00\",\n        \"address\": \"202 Carroll Highway Apt. 122\\nEast Hailiechester, ND 38257\",\n        \"travel_method\": null,\n        \"has_chat\": false,\n        \"is_delayed\": false,\n        \"is_group\": false,\n        \"people\": [],\n        \"services\": [],\n        \"amounts\": {\n            \"services_amount\": \"0.00\",\n            \"package_amount\": \"0.00\",\n            \"delivery_fee\": \"0.00\",\n            \"discount_amount\": \"0.00\",\n            \"vat_amount\": \"0.00\",\n            \"total_amount\": \"0.00\"\n        },\n        \"coupon\": null,\n        \"service_location\": {\n            \"text\": \"202 Carroll Highway Apt. 122\\nEast Hailiechester, ND 38257\",\n            \"lat\": null,\n            \"lng\": null,\n            \"city\": {\n                \"id\": \"01a1c636-6d89-717c-99bf-1a40708ffea2\",\n                \"name\": \"Sample-ykad91260223\"\n            },\n            \"district\": null\n        },\n        \"estimated_duration_min\": null,\n        \"eta_minutes\": null,\n        \"notes_to_provider\": null,\n        \"driver\": null,\n        \"dispatch\": null,\n        \"trip\": {\n            \"id\": \"01a1c636-6db2-7139-8c3c-f7d2973bb60d\",\n            \"code\": \"TRP-nhxu59087242\",\n            \"status\": {\n                \"value\": \"accepted\",\n                \"label\": \"Driver accepted\"\n            },\n            \"driver\": {\n                \"id\": \"01a1c636-6dae-733e-9e71-b8c026186d85\",\n                \"name\": \"Nico Padberg\"\n            },\n            \"search_expires_at\": \"2026-10-25T07:05:00+00:00\"\n        },\n        \"payments\": [],\n        \"invoice\": null,\n        \"confirmation\": {\n            \"provider_response_due_at\": null,\n            \"provider_responded_at\": null,\n            \"rejection_reason\": null,\n            \"payment_due_at\": null,\n            \"confirmed_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"execution\": {\n            \"departed_at\": null,\n            \"arrived_at\": null,\n            \"started_at\": null,\n            \"completed_at\": null\n        },\n        \"delay_alerted_at\": null,\n        \"status_history\": [\n            {\n                \"id\": \"c19a2d83-dd20-11f1-818f-14b31f1fdf6a\",\n                \"from\": null,\n                \"to\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"actor\": {\n                    \"type\": {\n                        \"value\": \"system\",\n                        \"label\": \"System\"\n                    },\n                    \"id\": null,\n                    \"name\": null\n                },\n                \"note\": null,\n                \"at\": \"2026-11-10T16:06:58+00:00\"\n            }\n        ],\n        \"notifications\": [],\n        \"chat_status\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"refunds\": [],\n        \"updated_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/:order",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        ":order"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/:order",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        ":order"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/:order",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        ":order"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Order Not Found",
                                            "_joshen": {
                                                "route": "admin.orders.show",
                                                "name": "Order Not Found",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/orders/0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminOrderManagementTest::test_ac_admin_013_unknown_or_integer_id_is_not_found"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/orders/0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "orders",
                                                        "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "order_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Conversations",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"customer_id\",\"Saved by GET /api/v1/admin/payments/customers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"conversation_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "JSH-48",
                                                    "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "open",
                                                    "description": "Stored conversation status: `open` while the order is active, `closed` once it completed or was cancelled (BR-15). — `string (enum)`, one of: `open`, `closed`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`) taking part in the chat. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[customer_id]",
                                                    "value": "{{customer_id}}",
                                                    "description": "Customer profile uuid (`customers`) taking part in the chat. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.conversations.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `search` — Partial match on the order code, e.g. `JSH-48`. — `string` (optional)\n- `filters[status]` — Stored conversation status: `open` while the order is active, `closed` once it completed or was cancelled (BR-15). — `string (enum)`, one of: `open`, `closed` (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`) taking part in the chat. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[customer_id]` — Customer profile uuid (`customers`) taking part in the chat. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19) (optional)\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{customer_id}}` — Saved by GET /api/v1/admin/payments/customers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `conversation_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Chat monitor list\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Chat monitor access forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown conversation status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"conversations\": [\n            {\n                \"id\": \"01a1c636-e631-707d-bd76-a2cfc8a0588b\",\n                \"order\": {\n                    \"id\": \"01a1c636-e62b-72a8-8716-f693ad730c1a\",\n                    \"code\": \"JSH-horn59382156\",\n                    \"status\": {\n                        \"value\": \"completed\",\n                        \"label\": \"Completed\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c636-e625-70a8-a977-871e198998d3\",\n                    \"user_id\": \"01a1c636-e625-70a8-a977-871e1a4db68b\",\n                    \"full_name\": \"Mr. Jacques Littel I\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-e628-7276-a9c6-fe40ec1b09a7\",\n                    \"display_name\": \"Hanna Deckow\"\n                },\n                \"status\": {\n                    \"value\": \"closed\",\n                    \"label\": \"Closed\"\n                },\n                \"messages_count\": 2,\n                \"last_message_at\": \"2026-11-10T16:02:29+00:00\",\n                \"opened_at\": \"2026-11-10T15:07:29+00:00\",\n                \"closed_at\": \"2026-11-10T16:07:29+00:00\"\n            },\n            {\n                \"id\": \"01a1c636-e621-73d2-b12b-b40227d14954\",\n                \"order\": {\n                    \"id\": \"01a1c636-e61b-7014-b25f-91ec77999f47\",\n                    \"code\": \"JSH-htbs55784486\",\n                    \"status\": {\n                        \"value\": \"confirmed\",\n                        \"label\": \"Confirmed\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c636-e614-71be-b788-2eef1bd05404\",\n                    \"user_id\": \"01a1c636-e614-71be-b788-2eef1be55021\",\n                    \"full_name\": \"Ford Prosacco\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-e618-738b-b7ca-9597164a3a10\",\n                    \"display_name\": \"Daija Gutkowski\"\n                },\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"messages_count\": 2,\n                \"last_message_at\": \"2026-11-10T16:02:29+00:00\",\n                \"opened_at\": \"2026-11-10T15:07:29+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/conversations?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/conversations?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/conversations?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/conversations\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Chat monitor list",
                                            "_joshen": {
                                                "route": "admin.conversations.index",
                                                "name": "Chat monitor list",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/conversations",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ConversationMonitorTest::test_ac_admin_013_list_shows_metadata_only_and_filters"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"conversations\": [\n            {\n                \"id\": \"01a1c636-e631-707d-bd76-a2cfc8a0588b\",\n                \"order\": {\n                    \"id\": \"01a1c636-e62b-72a8-8716-f693ad730c1a\",\n                    \"code\": \"JSH-horn59382156\",\n                    \"status\": {\n                        \"value\": \"completed\",\n                        \"label\": \"Completed\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c636-e625-70a8-a977-871e198998d3\",\n                    \"user_id\": \"01a1c636-e625-70a8-a977-871e1a4db68b\",\n                    \"full_name\": \"Mr. Jacques Littel I\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-e628-7276-a9c6-fe40ec1b09a7\",\n                    \"display_name\": \"Hanna Deckow\"\n                },\n                \"status\": {\n                    \"value\": \"closed\",\n                    \"label\": \"Closed\"\n                },\n                \"messages_count\": 2,\n                \"last_message_at\": \"2026-11-10T16:02:29+00:00\",\n                \"opened_at\": \"2026-11-10T15:07:29+00:00\",\n                \"closed_at\": \"2026-11-10T16:07:29+00:00\"\n            },\n            {\n                \"id\": \"01a1c636-e621-73d2-b12b-b40227d14954\",\n                \"order\": {\n                    \"id\": \"01a1c636-e61b-7014-b25f-91ec77999f47\",\n                    \"code\": \"JSH-htbs55784486\",\n                    \"status\": {\n                        \"value\": \"confirmed\",\n                        \"label\": \"Confirmed\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c636-e614-71be-b788-2eef1bd05404\",\n                    \"user_id\": \"01a1c636-e614-71be-b788-2eef1be55021\",\n                    \"full_name\": \"Ford Prosacco\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-e618-738b-b7ca-9597164a3a10\",\n                    \"display_name\": \"Daija Gutkowski\"\n                },\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"messages_count\": 2,\n                \"last_message_at\": \"2026-11-10T16:02:29+00:00\",\n                \"opened_at\": \"2026-11-10T15:07:29+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/conversations?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/conversations?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/conversations?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/conversations\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "open",
                                                            "description": "Stored conversation status: `open` while the order is active, `closed` once it completed or was cancelled (BR-15). — `string (enum)`, one of: `open`, `closed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) taking part in the chat. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) taking part in the chat. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Chat monitor access forbidden",
                                            "_joshen": {
                                                "route": "admin.conversations.index",
                                                "name": "Chat monitor access forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/conversations",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ConversationMonitorTest::test_ac_admin_013_orders_permission_reads_chats_and_no_write_route_exists"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.conversations.index\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "open",
                                                            "description": "Stored conversation status: `open` while the order is active, `closed` once it completed or was cancelled (BR-15). — `string (enum)`, one of: `open`, `closed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) taking part in the chat. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) taking part in the chat. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "open",
                                                            "description": "Stored conversation status: `open` while the order is active, `closed` once it completed or was cancelled (BR-15). — `string (enum)`, one of: `open`, `closed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) taking part in the chat. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) taking part in the chat. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown conversation status filter",
                                            "_joshen": {
                                                "route": "admin.conversations.index",
                                                "name": "Unknown conversation status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/conversations",
                                                    "query": {
                                                        "filters": {
                                                            "status": "archived"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ConversationMonitorTest::test_ac_admin_013_list_shows_metadata_only_and_filters"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations?filters[status]=archived",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "archived"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "conversation_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "customer_id",
                                                "set_by": [
                                                    "admin.payments.customers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments/customers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"conversation_id\",\"Saved by GET /api/v1/admin/conversations, GET /api/v1/client/conversations, GET /api/v1/provider/conversations.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/conversations/:conversation",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "conversations",
                                                ":conversation"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "conversation",
                                                    "value": "{{conversation_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/conversations, GET /api/v1/client/conversations, GET /api/v1/provider/conversations."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "before",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "Message uuid from the top of the page already shown; returns the 50 messages before it. Omit for the newest page. — `string (uuid)`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.conversations.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `before` — Message uuid from the top of the page already shown; returns the 50 messages before it. Omit for the newest page. — `string (uuid)` (optional)\n\n**Variables:**\n- Uses `{{conversation_id}}` — Saved by GET /api/v1/admin/conversations, GET /api/v1/client/conversations, GET /api/v1/provider/conversations.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Read an order conversation\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Unknown conversation — `error_code: ENTITY_NOT_FOUND`\n- `404` Unknown history cursor — `error_code: ENTITY_NOT_FOUND`\n- `422` History cursor must be a UUID\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"conversation\": {\n            \"id\": \"01a1c636-e880-7049-b81c-e521106e7954\",\n            \"order\": {\n                \"id\": \"01a1c636-e879-73a9-8429-a1a99fe14e2e\",\n                \"code\": \"JSH-umxz14725067\",\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                }\n            },\n            \"customer\": {\n                \"id\": \"01a1c636-e872-703a-987c-cfe057ce52f5\",\n                \"user_id\": \"01a1c636-e872-703a-987c-cfe057e64ec0\",\n                \"full_name\": \"Alverta Parisian MD\"\n            },\n            \"provider\": {\n                \"id\": \"01a1c636-e876-726f-9964-1b4257729241\",\n                \"display_name\": \"Braulio Toy\"\n            },\n            \"status\": {\n                \"value\": \"open\",\n                \"label\": \"Open\"\n            },\n            \"messages_count\": 2,\n            \"last_message_at\": \"2026-11-10T16:02:29+00:00\",\n            \"opened_at\": \"2026-11-10T15:07:29+00:00\",\n            \"closed_at\": null\n        },\n        \"messages\": [\n            {\n                \"id\": \"01a1c636-e882-723c-af1e-d4ad256e39b7\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"Please bring the hair dryer.\",\n                \"read_at\": \"2026-11-10T16:07:29+00:00\",\n                \"created_at\": \"2026-11-10T15:57:29+00:00\"\n            },\n            {\n                \"id\": \"01a1c636-e883-71f4-bf62-3615f2d56885\",\n                \"sender_role\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"Sure, on my way.\",\n                \"read_at\": null,\n                \"created_at\": \"2026-11-10T16:02:29+00:00\"\n            }\n        ],\n        \"has_more\": false\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Read an order conversation",
                                            "_joshen": {
                                                "route": "admin.conversations.show",
                                                "name": "Read an order conversation",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/conversations/01a1c636-e880-7049-b81c-e521106e7954",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ConversationMonitorTest::test_ac_admin_013_reading_history_is_audited_and_never_marks_read"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations/01a1c636-e880-7049-b81c-e521106e7954",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations",
                                                        "01a1c636-e880-7049-b81c-e521106e7954"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"conversation\": {\n            \"id\": \"01a1c636-e880-7049-b81c-e521106e7954\",\n            \"order\": {\n                \"id\": \"01a1c636-e879-73a9-8429-a1a99fe14e2e\",\n                \"code\": \"JSH-umxz14725067\",\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                }\n            },\n            \"customer\": {\n                \"id\": \"01a1c636-e872-703a-987c-cfe057ce52f5\",\n                \"user_id\": \"01a1c636-e872-703a-987c-cfe057e64ec0\",\n                \"full_name\": \"Alverta Parisian MD\"\n            },\n            \"provider\": {\n                \"id\": \"01a1c636-e876-726f-9964-1b4257729241\",\n                \"display_name\": \"Braulio Toy\"\n            },\n            \"status\": {\n                \"value\": \"open\",\n                \"label\": \"Open\"\n            },\n            \"messages_count\": 2,\n            \"last_message_at\": \"2026-11-10T16:02:29+00:00\",\n            \"opened_at\": \"2026-11-10T15:07:29+00:00\",\n            \"closed_at\": null\n        },\n        \"messages\": [\n            {\n                \"id\": \"01a1c636-e882-723c-af1e-d4ad256e39b7\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"Please bring the hair dryer.\",\n                \"read_at\": \"2026-11-10T16:07:29+00:00\",\n                \"created_at\": \"2026-11-10T15:57:29+00:00\"\n            },\n            {\n                \"id\": \"01a1c636-e883-71f4-bf62-3615f2d56885\",\n                \"sender_role\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"Sure, on my way.\",\n                \"read_at\": null,\n                \"created_at\": \"2026-11-10T16:02:29+00:00\"\n            }\n        ],\n        \"has_more\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations/:conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations",
                                                        ":conversation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "conversation",
                                                            "value": "{{conversation_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/conversations, GET /api/v1/client/conversations, GET /api/v1/provider/conversations."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Message uuid from the top of the page already shown; returns the 50 messages before it. Omit for the newest page. — `string (uuid)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations/:conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations",
                                                        ":conversation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "conversation",
                                                            "value": "{{conversation_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/conversations, GET /api/v1/client/conversations, GET /api/v1/provider/conversations."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Message uuid from the top of the page already shown; returns the 50 messages before it. Omit for the newest page. — `string (uuid)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations/:conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations",
                                                        ":conversation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "conversation",
                                                            "value": "{{conversation_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/conversations, GET /api/v1/client/conversations, GET /api/v1/provider/conversations."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Message uuid from the top of the page already shown; returns the 50 messages before it. Omit for the newest page. — `string (uuid)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown conversation",
                                            "_joshen": {
                                                "route": "admin.conversations.show",
                                                "name": "Unknown conversation",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/conversations/946a412e-f427-4adf-9500-43fcd496c08c",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ConversationMonitorTest::test_ac_admin_013_unknown_conversation_or_cursor_is_404_and_bad_cursor_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations/946a412e-f427-4adf-9500-43fcd496c08c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations",
                                                        "946a412e-f427-4adf-9500-43fcd496c08c"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Conversation not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"793f1955-d3f6-4544-aeb5-eff541cbc768\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown history cursor",
                                            "_joshen": {
                                                "route": "admin.conversations.show",
                                                "name": "Unknown history cursor",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/conversations/01a1c636-eabb-7376-8a97-bcffc374635a",
                                                    "query": {
                                                        "before": "678a6fb3-16c8-491d-8fa8-471bbaff5e31"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ConversationMonitorTest::test_ac_admin_013_unknown_conversation_or_cursor_is_404_and_bad_cursor_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations/01a1c636-eabb-7376-8a97-bcffc374635a?before=678a6fb3-16c8-491d-8fa8-471bbaff5e31",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations",
                                                        "01a1c636-eabb-7376-8a97-bcffc374635a"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "678a6fb3-16c8-491d-8fa8-471bbaff5e31"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Message not found in this conversation.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"d4c9ce7a-a57b-4b61-955f-cac8558fa5ee\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 History cursor must be a UUID",
                                            "_joshen": {
                                                "route": "admin.conversations.show",
                                                "name": "History cursor must be a UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/conversations/01a1c636-eabb-7376-8a97-bcffc374635a",
                                                    "query": {
                                                        "before": "bad"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ConversationMonitorTest::test_ac_admin_013_unknown_conversation_or_cursor_is_404_and_bad_cursor_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/conversations/01a1c636-eabb-7376-8a97-bcffc374635a?before=bad",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "conversations",
                                                        "01a1c636-eabb-7376-8a97-bcffc374635a"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "bad"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The before field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"before\": [\n                \"The before field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "conversation_id",
                                                "set_by": [
                                                    "admin.conversations.index",
                                                    "client.conversations.index",
                                                    "provider.conversations.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/conversations, GET /api/v1/client/conversations, GET /api/v1/provider/conversations."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Trips",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"trip_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/trips",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "trips"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "False returns at most 500 rows. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "TRP-",
                                                    "description": "Search trip or order code. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "searching",
                                                    "description": "Persisted trip status. — `string (enum)`, one of: `searching`, `accepted`, `to_provider`, `at_provider`, `picked_up`, `to_customer`, `arrived`, `completed`, `no_driver`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[monitor_status]",
                                                    "value": "awaiting_driver_acceptance",
                                                    "description": "ADMIN-014 monitor stage. — `string (enum)`, one of: `awaiting_driver_acceptance`, `accepted`, `on_the_way_to_provider`, `arrived_at_provider`, `provider_picked_up`, `on_the_way_to_customer`, `arrived_at_customer`, `arrival_confirmed`, `no_driver`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile UUID. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[driver_id]",
                                                    "value": "{{driver_id}}",
                                                    "description": "Driver profile UUID. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[city_id]",
                                                    "value": "{{governorate_id}}",
                                                    "description": "Order destination city UUID. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest trip creation date. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest trip creation date. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by creation time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[search_expires_at]",
                                                    "value": "asc",
                                                    "description": "Sort by search expiry. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.trips.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — False returns at most 500 rows. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Search trip or order code. — `string` (optional)\n- `filters[status]` — Persisted trip status. — `string (enum)`, one of: `searching`, `accepted`, `to_provider`, `at_provider`, `picked_up`, `to_customer`, `arrived`, `completed`, `no_driver`, `cancelled` (optional)\n- `filters[monitor_status]` — ADMIN-014 monitor stage. — `string (enum)`, one of: `awaiting_driver_acceptance`, `accepted`, `on_the_way_to_provider`, `arrived_at_provider`, `provider_picked_up`, `on_the_way_to_customer`, `arrived_at_customer`, `arrival_confirmed`, `no_driver`, `cancelled` (optional)\n- `filters[provider_id]` — Provider profile UUID. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[driver_id]` — Driver profile UUID. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19) (optional)\n- `filters[city_id]` — Order destination city UUID. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `filters[created_from]` — Earliest trip creation date. — `string (date)` (optional)\n- `filters[created_to]` — Latest trip creation date. — `string (date)` (optional)\n- `sort[created_at]` — Sort by creation time. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[search_expires_at]` — Sort by search expiry. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `trip_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Trip monitor list\n- `200` Unpaginated trips\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Transportation access forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid city UUID\n- `422` Invalid date range\n- `422` Invalid driver UUID\n- `422` Invalid monitor status\n- `422` Invalid per page\n- `422` Invalid provider UUID\n- `422` Invalid sort\n- `422` Invalid trip filter\n- `422` Per page above limit\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"trips\": [\n            {\n                \"id\": \"01a19792-d11b-711b-ab59-cc9b6f8d6f3c\",\n                \"code\": \"TRP-dspj03944747\",\n                \"order\": {\n                    \"id\": \"01a19792-d11c-713e-94fd-439cb0567e5a\",\n                    \"code\": \"JSH-sxga90198363\"\n                },\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"monitor_status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"provider\": {\n                    \"id\": \"01a19792-d127-7211-8313-b7ace6686d67\",\n                    \"name\": \"Laura Steuber\"\n                },\n                \"driver\": null,\n                \"pickup_city\": null,\n                \"dropoff_city\": \"Sample-wvnd01003458\",\n                \"dropoff_district\": null,\n                \"delivery_fee\": \"0.00\",\n                \"created_at\": \"2026-11-01T14:45:43+00:00\",\n                \"search_started_at\": \"2026-11-01T14:45:43+00:00\",\n                \"search_expires_at\": \"2026-11-01T14:50:43+00:00\",\n                \"search_seconds_remaining\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/trips?filters%5Bmonitor_status%5D=cancelled&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/trips?filters%5Bmonitor_status%5D=cancelled&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/trips?filters%5Bmonitor_status%5D=cancelled&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/trips\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Trip monitor list",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Trip monitor list",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "filters": {
                                                            "monitor_status": "cancelled"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_list_and_each_monitor_stage_without_lazy_loading"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?filters[monitor_status]=cancelled",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[monitor_status]",
                                                            "value": "cancelled"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"trips\": [\n            {\n                \"id\": \"01a19792-d11b-711b-ab59-cc9b6f8d6f3c\",\n                \"code\": \"TRP-dspj03944747\",\n                \"order\": {\n                    \"id\": \"01a19792-d11c-713e-94fd-439cb0567e5a\",\n                    \"code\": \"JSH-sxga90198363\"\n                },\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"monitor_status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"provider\": {\n                    \"id\": \"01a19792-d127-7211-8313-b7ace6686d67\",\n                    \"name\": \"Laura Steuber\"\n                },\n                \"driver\": null,\n                \"pickup_city\": null,\n                \"dropoff_city\": \"Sample-wvnd01003458\",\n                \"dropoff_district\": null,\n                \"delivery_fee\": \"0.00\",\n                \"created_at\": \"2026-11-01T14:45:43+00:00\",\n                \"search_started_at\": \"2026-11-01T14:45:43+00:00\",\n                \"search_expires_at\": \"2026-11-01T14:50:43+00:00\",\n                \"search_seconds_remaining\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/trips?filters%5Bmonitor_status%5D=cancelled&page=1\",\n            \"last\": \"http://localhost/api/v1/admin/trips?filters%5Bmonitor_status%5D=cancelled&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/trips?filters%5Bmonitor_status%5D=cancelled&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/trips\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Unpaginated trips",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Unpaginated trips",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a19792-d351-7308-af0d-0a7a17cb16c0\",\n            \"code\": \"TRP-mezs27581573\",\n            \"order\": {\n                \"id\": \"01a19792-d355-730d-91f3-97aa6ca8b9aa\",\n                \"code\": \"JSH-kscc95909068\"\n            },\n            \"status\": {\n                \"value\": \"searching\",\n                \"label\": \"Searching for driver\"\n            },\n            \"monitor_status\": {\n                \"value\": \"awaiting_driver_acceptance\",\n                \"label\": \"Awaiting driver acceptance\"\n            },\n            \"provider\": {\n                \"id\": \"01a19792-d364-703e-b4ea-3a9c087d1053\",\n                \"name\": \"Winfield Senger\"\n            },\n            \"driver\": null,\n            \"pickup_city\": null,\n            \"dropoff_city\": \"Sample-xqih20554541\",\n            \"dropoff_district\": null,\n            \"delivery_fee\": \"0.00\",\n            \"created_at\": \"2026-01-20T12:00:00+00:00\",\n            \"search_started_at\": \"2026-11-01T14:45:44+00:00\",\n            \"search_expires_at\": \"2026-11-01T14:50:44+00:00\",\n            \"search_seconds_remaining\": 299\n        },\n        {\n            \"id\": \"01a19792-d347-7170-af4d-d09d4a66daa9\",\n            \"code\": \"TRP-vbuv24975607\",\n            \"order\": {\n                \"id\": \"01a19792-d332-726f-b230-4715f95e180f\",\n                \"code\": \"JSH-kque93705139\"\n            },\n            \"status\": {\n                \"value\": \"accepted\",\n                \"label\": \"Driver accepted\"\n            },\n            \"monitor_status\": {\n                \"value\": \"accepted\",\n                \"label\": \"Accepted\"\n            },\n            \"provider\": {\n                \"id\": \"01a19792-d326-7268-a726-39c510352a44\",\n                \"name\": \"Giovani Feeney\"\n            },\n            \"driver\": {\n                \"id\": \"01a19792-d32b-70b1-b045-6665145243d5\",\n                \"name\": \"Bret Lowe\"\n            },\n            \"pickup_city\": \"Sample-qvdq09304285\",\n            \"dropoff_city\": \"Sample-qvdq09304285\",\n            \"dropoff_district\": \"Sample-hcnw57385666\",\n            \"delivery_fee\": \"0.00\",\n            \"created_at\": \"2026-01-15T12:00:00+00:00\",\n            \"search_started_at\": \"2026-11-01T14:45:44+00:00\",\n            \"search_expires_at\": \"2026-11-01T14:50:44+00:00\",\n            \"search_seconds_remaining\": null\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "False returns at most 500 rows. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "TRP-",
                                                            "description": "Search trip or order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "searching",
                                                            "description": "Persisted trip status. — `string (enum)`, one of: `searching`, `accepted`, `to_provider`, `at_provider`, `picked_up`, `to_customer`, `arrived`, `completed`, `no_driver`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[monitor_status]",
                                                            "value": "awaiting_driver_acceptance",
                                                            "description": "ADMIN-014 monitor stage. — `string (enum)`, one of: `awaiting_driver_acceptance`, `accepted`, `on_the_way_to_provider`, `arrived_at_provider`, `provider_picked_up`, `on_the_way_to_customer`, `arrived_at_customer`, `arrival_confirmed`, `no_driver`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile UUID. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[driver_id]",
                                                            "value": "{{driver_id}}",
                                                            "description": "Driver profile UUID. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Order destination city UUID. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest trip creation date. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest trip creation date. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by creation time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[search_expires_at]",
                                                            "value": "asc",
                                                            "description": "Sort by search expiry. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Transportation access forbidden",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Transportation access forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_permission_and_no_write_routes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.trips.index\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "False returns at most 500 rows. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "TRP-",
                                                            "description": "Search trip or order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "searching",
                                                            "description": "Persisted trip status. — `string (enum)`, one of: `searching`, `accepted`, `to_provider`, `at_provider`, `picked_up`, `to_customer`, `arrived`, `completed`, `no_driver`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[monitor_status]",
                                                            "value": "awaiting_driver_acceptance",
                                                            "description": "ADMIN-014 monitor stage. — `string (enum)`, one of: `awaiting_driver_acceptance`, `accepted`, `on_the_way_to_provider`, `arrived_at_provider`, `provider_picked_up`, `on_the_way_to_customer`, `arrived_at_customer`, `arrival_confirmed`, `no_driver`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile UUID. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[driver_id]",
                                                            "value": "{{driver_id}}",
                                                            "description": "Driver profile UUID. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Order destination city UUID. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest trip creation date. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest trip creation date. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by creation time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[search_expires_at]",
                                                            "value": "asc",
                                                            "description": "Sort by search expiry. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "False returns at most 500 rows. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "TRP-",
                                                            "description": "Search trip or order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "searching",
                                                            "description": "Persisted trip status. — `string (enum)`, one of: `searching`, `accepted`, `to_provider`, `at_provider`, `picked_up`, `to_customer`, `arrived`, `completed`, `no_driver`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[monitor_status]",
                                                            "value": "awaiting_driver_acceptance",
                                                            "description": "ADMIN-014 monitor stage. — `string (enum)`, one of: `awaiting_driver_acceptance`, `accepted`, `on_the_way_to_provider`, `arrived_at_provider`, `provider_picked_up`, `on_the_way_to_customer`, `arrived_at_customer`, `arrival_confirmed`, `no_driver`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile UUID. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[driver_id]",
                                                            "value": "{{driver_id}}",
                                                            "description": "Driver profile UUID. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Order destination city UUID. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest trip creation date. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest trip creation date. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by creation time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[search_expires_at]",
                                                            "value": "asc",
                                                            "description": "Sort by search expiry. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid city UUID",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Invalid city UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "filters": {
                                                            "city_id": "123"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?filters[city_id]=123",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "123"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.city id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.city_id\": [\n                \"The filters.city id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid date range",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Invalid date range",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "filters": {
                                                            "created_from": "2026-02-01",
                                                            "created_to": "2026-01-01"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?filters[created_from]=2026-02-01&filters[created_to]=2026-01-01",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-02-01"
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-01-01"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.created to field must be a date after or equal to filters.created from.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.created_to\": [\n                \"The filters.created to field must be a date after or equal to filters.created from.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid driver UUID",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Invalid driver UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "filters": {
                                                            "driver_id": "123"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?filters[driver_id]=123",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[driver_id]",
                                                            "value": "123"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.driver id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.driver_id\": [\n                \"The filters.driver id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid monitor status",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Invalid monitor status",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "filters": {
                                                            "monitor_status": "unknown"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?filters[monitor_status]=unknown",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[monitor_status]",
                                                            "value": "unknown"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.monitor status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.monitor_status\": [\n                \"The selected filters.monitor status is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid per page",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Invalid per page",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "per_page": "bad"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?per_page=bad",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "bad"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be an integer.\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be an integer.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid provider UUID",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Invalid provider UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "filters": {
                                                            "provider_id": "123"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?filters[provider_id]=123",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "123"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.provider id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.provider_id\": [\n                \"The filters.provider id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid sort",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Invalid sort",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "sort": {
                                                            "unknown": "asc"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?sort[unknown]=asc",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "sort[unknown]",
                                                            "value": "asc"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): sort.unknown.\",\n    \"data\": {\n        \"errors\": {\n            \"sort\": [\n                \"Unsupported input key(s): sort.unknown.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid trip filter",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Invalid trip filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "filters": {
                                                            "unknown": "1"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?filters[unknown]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[unknown]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): filters.unknown.\",\n    \"data\": {\n        \"errors\": {\n            \"filters\": [\n                \"Unsupported input key(s): filters.unknown.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Per page above limit",
                                            "_joshen": {
                                                "route": "admin.trips.index",
                                                "name": "Per page above limit",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips",
                                                    "query": {
                                                        "per_page": "101"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_filters_search_sorts_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips?per_page=101",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "101"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be between 1 and 100.\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "trip_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"trip_id\",\"Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"trip_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/trips/:trip",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "trips",
                                                ":trip"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "trip",
                                                    "value": "{{trip_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.trips.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{trip_id}}` — Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `trip_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Trip monitor details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Trip not found\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a19792-dcdf-73aa-9e2c-935de7d0313f\",\n        \"code\": \"TRP-tniq80244069\",\n        \"order\": {\n            \"id\": \"01a19792-dcdf-73aa-9e2c-935de8a85c2d\",\n            \"code\": \"JSH-vfcz89559236\"\n        },\n        \"status\": {\n            \"value\": \"accepted\",\n            \"label\": \"Driver accepted\"\n        },\n        \"monitor_status\": {\n            \"value\": \"accepted\",\n            \"label\": \"Accepted\"\n        },\n        \"provider\": {\n            \"id\": \"01a19792-dce8-71f6-bb37-5c894d606259\",\n            \"name\": \"Juvenal Runte V\"\n        },\n        \"driver\": {\n            \"id\": \"01a19792-dcc7-70f3-8234-0a850d5410f3\",\n            \"name\": \"Amelie Miller\"\n        },\n        \"pickup_city\": null,\n        \"dropoff_city\": \"Sample-fjia88183289\",\n        \"dropoff_district\": null,\n        \"delivery_fee\": \"0.00\",\n        \"created_at\": \"2026-11-01T14:45:46+00:00\",\n        \"search_started_at\": \"2026-11-01T14:45:46+00:00\",\n        \"search_expires_at\": \"2026-11-01T14:50:46+00:00\",\n        \"search_seconds_remaining\": null,\n        \"pickup\": {\n            \"address\": \"Pickup location\",\n            \"lat\": \"24.100000\",\n            \"lng\": \"46.100000\"\n        },\n        \"dropoff\": {\n            \"address\": \"Dropoff location\",\n            \"lat\": \"24.200000\",\n            \"lng\": \"46.200000\"\n        },\n        \"distance_km\": \"12.50\",\n        \"est_duration_min\": 30,\n        \"driver_coverage\": [\n            \"Sample-uwvs26146338\"\n        ],\n        \"vehicle\": {\n            \"type\": \"car\",\n            \"model\": \"Toyota Yaris\",\n            \"plate\": \"TEST-123\"\n        },\n        \"offers\": {\n            \"counts\": {\n                \"pending\": 0,\n                \"accepted\": 1,\n                \"rejected\": 1,\n                \"expired\": 0,\n                \"withdrawn\": 0\n            },\n            \"items\": [\n                {\n                    \"driver\": {\n                        \"id\": \"01a19792-dcc7-70f3-8234-0a850d5410f3\",\n                        \"name\": \"Amelie Miller\"\n                    },\n                    \"response\": \"accepted\",\n                    \"offered_at\": \"2026-01-01T10:00:00+00:00\",\n                    \"responded_at\": \"2026-01-01T10:01:00+00:00\"\n                },\n                {\n                    \"driver\": {\n                        \"id\": \"01a19792-dccc-72b0-aad0-69aed1b9fd3f\",\n                        \"name\": \"Fidel Hilpert\"\n                    },\n                    \"response\": \"rejected\",\n                    \"offered_at\": \"2026-01-01T10:02:00+00:00\",\n                    \"responded_at\": \"2026-01-01T10:03:00+00:00\"\n                }\n            ]\n        },\n        \"timeline\": [\n            {\n                \"from_status\": null,\n                \"to_status\": \"searching\",\n                \"actor\": {\n                    \"type\": \"system\",\n                    \"id\": null,\n                    \"name\": null\n                },\n                \"at\": \"2026-11-01T14:45:46+00:00\"\n            },\n            {\n                \"from_status\": \"searching\",\n                \"to_status\": \"accepted\",\n                \"actor\": {\n                    \"type\": \"driver\",\n                    \"id\": \"01a19792-dcc8-71f0-b9c0-4dfb358efb39\",\n                    \"name\": \"Amelie Miller\"\n                },\n                \"at\": \"2026-11-01T14:45:46+00:00\"\n            }\n        ],\n        \"may_travel_independently\": false,\n        \"arrival_confirmed_by\": null,\n        \"completed_at\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Trip monitor details",
                                            "_joshen": {
                                                "route": "admin.trips.show",
                                                "name": "Trip monitor details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips/01a19792-dcdf-73aa-9e2c-935de7d0313f",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_details_full_fields_privacy_and_eager_loading"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips/01a19792-dcdf-73aa-9e2c-935de7d0313f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips",
                                                        "01a19792-dcdf-73aa-9e2c-935de7d0313f"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a19792-dcdf-73aa-9e2c-935de7d0313f\",\n        \"code\": \"TRP-tniq80244069\",\n        \"order\": {\n            \"id\": \"01a19792-dcdf-73aa-9e2c-935de8a85c2d\",\n            \"code\": \"JSH-vfcz89559236\"\n        },\n        \"status\": {\n            \"value\": \"accepted\",\n            \"label\": \"Driver accepted\"\n        },\n        \"monitor_status\": {\n            \"value\": \"accepted\",\n            \"label\": \"Accepted\"\n        },\n        \"provider\": {\n            \"id\": \"01a19792-dce8-71f6-bb37-5c894d606259\",\n            \"name\": \"Juvenal Runte V\"\n        },\n        \"driver\": {\n            \"id\": \"01a19792-dcc7-70f3-8234-0a850d5410f3\",\n            \"name\": \"Amelie Miller\"\n        },\n        \"pickup_city\": null,\n        \"dropoff_city\": \"Sample-fjia88183289\",\n        \"dropoff_district\": null,\n        \"delivery_fee\": \"0.00\",\n        \"created_at\": \"2026-11-01T14:45:46+00:00\",\n        \"search_started_at\": \"2026-11-01T14:45:46+00:00\",\n        \"search_expires_at\": \"2026-11-01T14:50:46+00:00\",\n        \"search_seconds_remaining\": null,\n        \"pickup\": {\n            \"address\": \"Pickup location\",\n            \"lat\": \"24.100000\",\n            \"lng\": \"46.100000\"\n        },\n        \"dropoff\": {\n            \"address\": \"Dropoff location\",\n            \"lat\": \"24.200000\",\n            \"lng\": \"46.200000\"\n        },\n        \"distance_km\": \"12.50\",\n        \"est_duration_min\": 30,\n        \"driver_coverage\": [\n            \"Sample-uwvs26146338\"\n        ],\n        \"vehicle\": {\n            \"type\": \"car\",\n            \"model\": \"Toyota Yaris\",\n            \"plate\": \"TEST-123\"\n        },\n        \"offers\": {\n            \"counts\": {\n                \"pending\": 0,\n                \"accepted\": 1,\n                \"rejected\": 1,\n                \"expired\": 0,\n                \"withdrawn\": 0\n            },\n            \"items\": [\n                {\n                    \"driver\": {\n                        \"id\": \"01a19792-dcc7-70f3-8234-0a850d5410f3\",\n                        \"name\": \"Amelie Miller\"\n                    },\n                    \"response\": \"accepted\",\n                    \"offered_at\": \"2026-01-01T10:00:00+00:00\",\n                    \"responded_at\": \"2026-01-01T10:01:00+00:00\"\n                },\n                {\n                    \"driver\": {\n                        \"id\": \"01a19792-dccc-72b0-aad0-69aed1b9fd3f\",\n                        \"name\": \"Fidel Hilpert\"\n                    },\n                    \"response\": \"rejected\",\n                    \"offered_at\": \"2026-01-01T10:02:00+00:00\",\n                    \"responded_at\": \"2026-01-01T10:03:00+00:00\"\n                }\n            ]\n        },\n        \"timeline\": [\n            {\n                \"from_status\": null,\n                \"to_status\": \"searching\",\n                \"actor\": {\n                    \"type\": \"system\",\n                    \"id\": null,\n                    \"name\": null\n                },\n                \"at\": \"2026-11-01T14:45:46+00:00\"\n            },\n            {\n                \"from_status\": \"searching\",\n                \"to_status\": \"accepted\",\n                \"actor\": {\n                    \"type\": \"driver\",\n                    \"id\": \"01a19792-dcc8-71f0-b9c0-4dfb358efb39\",\n                    \"name\": \"Amelie Miller\"\n                },\n                \"at\": \"2026-11-01T14:45:46+00:00\"\n            }\n        ],\n        \"may_travel_independently\": false,\n        \"arrival_confirmed_by\": null,\n        \"completed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips/:trip",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips",
                                                        ":trip"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips/:trip",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips",
                                                        ":trip"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips/:trip",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips",
                                                        ":trip"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Trip not found",
                                            "_joshen": {
                                                "route": "admin.trips.show",
                                                "name": "Trip not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/trips/00000000-0000-0000-0000-000000000000",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\TripMonitoringTest::test_ac_admin_014_details_offers_timeline_privacy_and_not_found"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/trips/00000000-0000-0000-0000-000000000000",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "trips",
                                                        "00000000-0000-0000-0000-000000000000"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "trip_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "trip_id",
                                                "set_by": [
                                                    "admin.trips.index",
                                                    "admin.trips.show",
                                                    "delivery.trips.index",
                                                    "delivery.trips.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Reviews",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"customer_id\",\"Saved by GET /api/v1/admin/payments/customers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"review_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/reviews",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "reviews"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "JSH-48",
                                                    "description": "Partial match on the order code. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[direction]",
                                                    "value": "customer_to_provider",
                                                    "description": "Rating type: `customer_to_provider`, `provider_to_customer` or `provider_to_driver`. — `string (enum)`, one of: `customer_to_provider`, `provider_to_customer`, `provider_to_driver`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_visible]",
                                                    "value": "1",
                                                    "description": "`1` visible to the apps, `0` hidden by an admin. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[moderated]",
                                                    "value": "0",
                                                    "description": "`0` = no admin has reviewed it yet (the \"review before publication\" queue); `1` = published or hidden by an admin. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[stars]",
                                                    "value": "1",
                                                    "description": "Exact star count, 1–5. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[order_kind]",
                                                    "value": "service",
                                                    "description": "Order type: `service` or `package_session` (a package purchase cannot be rated). — `string (enum)`, one of: `service`, `package_session`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`) of the rated order. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[customer_id]",
                                                    "value": "{{customer_id}}",
                                                    "description": "Customer profile uuid (`customers`) of the rated order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest rating date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest rating date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by rating date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[stars]",
                                                    "value": "asc",
                                                    "description": "Order by star count. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.reviews.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `search` — Partial match on the order code. — `string` (optional)\n- `filters[direction]` — Rating type: `customer_to_provider`, `provider_to_customer` or `provider_to_driver`. — `string (enum)`, one of: `customer_to_provider`, `provider_to_customer`, `provider_to_driver` (optional)\n- `filters[is_visible]` — `1` visible to the apps, `0` hidden by an admin. — `boolean` (optional)\n- `filters[moderated]` — `0` = no admin has reviewed it yet (the \"review before publication\" queue); `1` = published or hidden by an admin. — `boolean` (optional)\n- `filters[stars]` — Exact star count, 1–5. — `integer` (optional)\n- `filters[order_kind]` — Order type: `service` or `package_session` (a package purchase cannot be rated). — `string (enum)`, one of: `service`, `package_session` (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`) of the rated order. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[customer_id]` — Customer profile uuid (`customers`) of the rated order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19) (optional)\n- `filters[created_from]` — Earliest rating date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[created_to]` — Latest rating date, `YYYY-MM-DD`, not before `created_from`. — `string (date)` (optional)\n- `sort[created_at]` — Order by rating date; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[stars]` — Order by star count. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{customer_id}}` — Saved by GET /api/v1/admin/payments/customers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `review_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Reviews List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Reviews Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Reviews Unknown Direction\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reviews\": [\n            {\n                \"id\": \"01a1c637-190d-717f-91f1-e82a0445f084\",\n                \"direction\": {\n                    \"value\": \"customer_to_provider\",\n                    \"label\": \"Customer rated provider\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-1908-7026-9aa4-a2dc517af544\",\n                    \"code\": \"JSH-ycfb18726743\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-1902-71ba-a564-630b8e6a065b\",\n                    \"user_id\": \"01a1c637-1902-71ba-a564-630b8f0a8da6\",\n                    \"full_name\": \"Rosella Grimes\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-1905-73ac-9b5e-3c5fb4bb299c\",\n                    \"display_name\": \"Mrs. Mariah Lindgren\"\n                },\n                \"driver\": null,\n                \"stars\": 5,\n                \"comment\": null,\n                \"is_visible\": true,\n                \"is_moderated\": true,\n                \"created_at\": \"2026-11-10T16:07:42+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-18fe-7380-a744-21eb0363e791\",\n                \"direction\": {\n                    \"value\": \"provider_to_customer\",\n                    \"label\": \"Provider rated customer\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-18f2-7000-81af-216c503bffd0\",\n                    \"code\": \"JSH-rqge62324327\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-18ec-712b-adb3-29c255e6dc76\",\n                    \"user_id\": \"01a1c637-18ec-712b-adb3-29c256b41118\",\n                    \"full_name\": \"Ciara Fadel\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-18ef-7029-9a0b-1d5b695bc789\",\n                    \"display_name\": \"Miss Willie Funk MD\"\n                },\n                \"driver\": null,\n                \"stars\": 5,\n                \"comment\": null,\n                \"is_visible\": true,\n                \"is_moderated\": false,\n                \"created_at\": \"2026-11-10T16:07:42+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-18f9-7349-82e4-c55f7dd997b3\",\n                \"direction\": {\n                    \"value\": \"customer_to_provider\",\n                    \"label\": \"Customer rated provider\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-18f2-7000-81af-216c503bffd0\",\n                    \"code\": \"JSH-rqge62324327\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-18ec-712b-adb3-29c255e6dc76\",\n                    \"user_id\": \"01a1c637-18ec-712b-adb3-29c256b41118\",\n                    \"full_name\": \"Ciara Fadel\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-18ef-7029-9a0b-1d5b695bc789\",\n                    \"display_name\": \"Miss Willie Funk MD\"\n                },\n                \"driver\": null,\n                \"stars\": 2,\n                \"comment\": \"Late by an hour\",\n                \"is_visible\": true,\n                \"is_moderated\": false,\n                \"created_at\": \"2026-11-10T16:07:42+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/reviews?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/reviews?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/reviews?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/reviews\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Reviews List",
                                            "_joshen": {
                                                "route": "admin.reviews.index",
                                                "name": "Reviews List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_list_shows_both_directions_and_filters_the_unreviewed_queue"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reviews\": [\n            {\n                \"id\": \"01a1c637-190d-717f-91f1-e82a0445f084\",\n                \"direction\": {\n                    \"value\": \"customer_to_provider\",\n                    \"label\": \"Customer rated provider\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-1908-7026-9aa4-a2dc517af544\",\n                    \"code\": \"JSH-ycfb18726743\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-1902-71ba-a564-630b8e6a065b\",\n                    \"user_id\": \"01a1c637-1902-71ba-a564-630b8f0a8da6\",\n                    \"full_name\": \"Rosella Grimes\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-1905-73ac-9b5e-3c5fb4bb299c\",\n                    \"display_name\": \"Mrs. Mariah Lindgren\"\n                },\n                \"driver\": null,\n                \"stars\": 5,\n                \"comment\": null,\n                \"is_visible\": true,\n                \"is_moderated\": true,\n                \"created_at\": \"2026-11-10T16:07:42+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-18fe-7380-a744-21eb0363e791\",\n                \"direction\": {\n                    \"value\": \"provider_to_customer\",\n                    \"label\": \"Provider rated customer\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-18f2-7000-81af-216c503bffd0\",\n                    \"code\": \"JSH-rqge62324327\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-18ec-712b-adb3-29c255e6dc76\",\n                    \"user_id\": \"01a1c637-18ec-712b-adb3-29c256b41118\",\n                    \"full_name\": \"Ciara Fadel\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-18ef-7029-9a0b-1d5b695bc789\",\n                    \"display_name\": \"Miss Willie Funk MD\"\n                },\n                \"driver\": null,\n                \"stars\": 5,\n                \"comment\": null,\n                \"is_visible\": true,\n                \"is_moderated\": false,\n                \"created_at\": \"2026-11-10T16:07:42+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-18f9-7349-82e4-c55f7dd997b3\",\n                \"direction\": {\n                    \"value\": \"customer_to_provider\",\n                    \"label\": \"Customer rated provider\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-18f2-7000-81af-216c503bffd0\",\n                    \"code\": \"JSH-rqge62324327\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    }\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-18ec-712b-adb3-29c255e6dc76\",\n                    \"user_id\": \"01a1c637-18ec-712b-adb3-29c256b41118\",\n                    \"full_name\": \"Ciara Fadel\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-18ef-7029-9a0b-1d5b695bc789\",\n                    \"display_name\": \"Miss Willie Funk MD\"\n                },\n                \"driver\": null,\n                \"stars\": 2,\n                \"comment\": \"Late by an hour\",\n                \"is_visible\": true,\n                \"is_moderated\": false,\n                \"created_at\": \"2026-11-10T16:07:42+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/reviews?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/reviews?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/reviews?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/reviews\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[direction]",
                                                            "value": "customer_to_provider",
                                                            "description": "Rating type: `customer_to_provider`, `provider_to_customer` or `provider_to_driver`. — `string (enum)`, one of: `customer_to_provider`, `provider_to_customer`, `provider_to_driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_visible]",
                                                            "value": "1",
                                                            "description": "`1` visible to the apps, `0` hidden by an admin. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[moderated]",
                                                            "value": "0",
                                                            "description": "`0` = no admin has reviewed it yet (the \"review before publication\" queue); `1` = published or hidden by an admin. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "1",
                                                            "description": "Exact star count, 1–5. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_kind]",
                                                            "value": "service",
                                                            "description": "Order type: `service` or `package_session` (a package purchase cannot be rated). — `string (enum)`, one of: `service`, `package_session`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) of the rated order. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) of the rated order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest rating date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest rating date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by rating date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[stars]",
                                                            "value": "asc",
                                                            "description": "Order by star count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Reviews Forbidden",
                                            "_joshen": {
                                                "route": "admin.reviews.index",
                                                "name": "Reviews Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_ratings_permission_and_no_delete_route"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.reviews.index\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[direction]",
                                                            "value": "customer_to_provider",
                                                            "description": "Rating type: `customer_to_provider`, `provider_to_customer` or `provider_to_driver`. — `string (enum)`, one of: `customer_to_provider`, `provider_to_customer`, `provider_to_driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_visible]",
                                                            "value": "1",
                                                            "description": "`1` visible to the apps, `0` hidden by an admin. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[moderated]",
                                                            "value": "0",
                                                            "description": "`0` = no admin has reviewed it yet (the \"review before publication\" queue); `1` = published or hidden by an admin. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "1",
                                                            "description": "Exact star count, 1–5. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_kind]",
                                                            "value": "service",
                                                            "description": "Order type: `service` or `package_session` (a package purchase cannot be rated). — `string (enum)`, one of: `service`, `package_session`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) of the rated order. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) of the rated order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest rating date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest rating date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by rating date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[stars]",
                                                            "value": "asc",
                                                            "description": "Order by star count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[direction]",
                                                            "value": "customer_to_provider",
                                                            "description": "Rating type: `customer_to_provider`, `provider_to_customer` or `provider_to_driver`. — `string (enum)`, one of: `customer_to_provider`, `provider_to_customer`, `provider_to_driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_visible]",
                                                            "value": "1",
                                                            "description": "`1` visible to the apps, `0` hidden by an admin. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[moderated]",
                                                            "value": "0",
                                                            "description": "`0` = no admin has reviewed it yet (the \"review before publication\" queue); `1` = published or hidden by an admin. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "1",
                                                            "description": "Exact star count, 1–5. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_kind]",
                                                            "value": "service",
                                                            "description": "Order type: `service` or `package_session` (a package purchase cannot be rated). — `string (enum)`, one of: `service`, `package_session`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) of the rated order. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) of the rated order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest rating date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest rating date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by rating date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[stars]",
                                                            "value": "asc",
                                                            "description": "Order by star count. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Reviews Unknown Direction",
                                            "_joshen": {
                                                "route": "admin.reviews.index",
                                                "name": "Reviews Unknown Direction",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews",
                                                    "query": {
                                                        "filters": {
                                                            "direction": "customer_to_driver"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_list_shows_both_directions_and_filters_the_unreviewed_queue"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews?filters[direction]=customer_to_driver",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[direction]",
                                                            "value": "customer_to_driver"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.direction is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.direction\": [\n                \"The selected filters.direction is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "review_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "customer_id",
                                                "set_by": [
                                                    "admin.payments.customers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments/customers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"review_id\",\"Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"review_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/reviews/:review",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "reviews",
                                                ":review"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "review",
                                                    "value": "{{review_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.reviews.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{review_id}}` — Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `review_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Review Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Review Not Found\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-1b4f-71b6-884c-b0dfd24dba73\",\n        \"direction\": {\n            \"value\": \"customer_to_provider\",\n            \"label\": \"Customer rated provider\"\n        },\n        \"order\": {\n            \"id\": \"01a1c637-1b49-7084-baa1-111f72f91214\",\n            \"code\": \"JSH-thsr83216669\",\n            \"kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Completed\"\n            },\n            \"completed_at\": \"2026-11-10T16:07:42+00:00\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c637-1b42-729b-8830-bb0770512530\",\n            \"user_id\": \"01a1c637-1b42-729b-8830-bb0770d1478d\",\n            \"full_name\": \"Savanna Feeney\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c637-1b45-7341-918a-319f0d950869\",\n            \"display_name\": \"Cicero McGlynn\"\n        },\n        \"driver\": null,\n        \"stars\": 5,\n        \"comment\": \"Great\",\n        \"is_visible\": true,\n        \"is_moderated\": false,\n        \"created_at\": \"2026-11-10T16:07:42+00:00\",\n        \"trip\": null,\n        \"reviewer\": {\n            \"role\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"id\": \"01a1c637-1b42-729b-8830-bb0770512530\",\n            \"name\": \"Savanna Feeney\"\n        },\n        \"reviewee\": {\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"id\": \"01a1c637-1b45-7341-918a-319f0d950869\",\n            \"name\": \"Cicero McGlynn\"\n        },\n        \"private_note\": \"Customer called support\",\n        \"tags\": [\n            {\n                \"id\": \"01a1c637-1b54-7384-9a0a-fa4c02a51730\",\n                \"label\": \"On time\"\n            }\n        ],\n        \"moderated_by\": null,\n        \"moderated_at\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Review Details",
                                            "_joshen": {
                                                "route": "admin.reviews.show",
                                                "name": "Review Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews/01a1c637-1b4f-71b6-884c-b0dfd24dba73",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_details_show_both_parties_the_team_note_and_tags"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/01a1c637-1b4f-71b6-884c-b0dfd24dba73",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        "01a1c637-1b4f-71b6-884c-b0dfd24dba73"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-1b4f-71b6-884c-b0dfd24dba73\",\n        \"direction\": {\n            \"value\": \"customer_to_provider\",\n            \"label\": \"Customer rated provider\"\n        },\n        \"order\": {\n            \"id\": \"01a1c637-1b49-7084-baa1-111f72f91214\",\n            \"code\": \"JSH-thsr83216669\",\n            \"kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Completed\"\n            },\n            \"completed_at\": \"2026-11-10T16:07:42+00:00\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c637-1b42-729b-8830-bb0770512530\",\n            \"user_id\": \"01a1c637-1b42-729b-8830-bb0770d1478d\",\n            \"full_name\": \"Savanna Feeney\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c637-1b45-7341-918a-319f0d950869\",\n            \"display_name\": \"Cicero McGlynn\"\n        },\n        \"driver\": null,\n        \"stars\": 5,\n        \"comment\": \"Great\",\n        \"is_visible\": true,\n        \"is_moderated\": false,\n        \"created_at\": \"2026-11-10T16:07:42+00:00\",\n        \"trip\": null,\n        \"reviewer\": {\n            \"role\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"id\": \"01a1c637-1b42-729b-8830-bb0770512530\",\n            \"name\": \"Savanna Feeney\"\n        },\n        \"reviewee\": {\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"id\": \"01a1c637-1b45-7341-918a-319f0d950869\",\n            \"name\": \"Cicero McGlynn\"\n        },\n        \"private_note\": \"Customer called support\",\n        \"tags\": [\n            {\n                \"id\": \"01a1c637-1b54-7384-9a0a-fa4c02a51730\",\n                \"label\": \"On time\"\n            }\n        ],\n        \"moderated_by\": null,\n        \"moderated_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Review Not Found",
                                            "_joshen": {
                                                "route": "admin.reviews.show",
                                                "name": "Review Not Found",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews/f88768ca-a2d0-485a-b90e-9d89981d59c4",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_details_show_both_parties_the_team_note_and_tags"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/f88768ca-a2d0-485a-b90e-9d89981d59c4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        "f88768ca-a2d0-485a-b90e-9d89981d59c4"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "review_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "review_id",
                                                "set_by": [
                                                    "admin.reviews.index",
                                                    "admin.reviews.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Publish",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"review_id\",\"Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/reviews/:review/publish",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "reviews",
                                                ":review",
                                                "publish"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "review",
                                                    "value": "{{review_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.reviews.publish`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `note`\n- **Description:** Why the review is published or hidden, max 500 characters. Kept in the audit log only; the customer and provider never see it.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Offensive language`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{review_id}}` — Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Review Published\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Review Publish Unknown\n- `422` Review Publish Note Too Long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Rating published.\",\n    \"data\": {\n        \"id\": \"01a1c637-1d8a-7204-a695-29755600bf81\",\n        \"direction\": {\n            \"value\": \"customer_to_provider\",\n            \"label\": \"Customer rated provider\"\n        },\n        \"order\": {\n            \"id\": \"01a1c637-1d85-71de-b09a-411bcc58c1c6\",\n            \"code\": \"JSH-dixp39447882\",\n            \"kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Completed\"\n            },\n            \"completed_at\": \"2026-11-10T16:07:43+00:00\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c637-1d83-725a-89d1-f6fa4ffe97b1\",\n            \"user_id\": \"01a1c637-1d83-725a-89d1-f6fa50eca002\",\n            \"full_name\": \"Kailyn Hintz II\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c637-1d72-72cc-9ed9-f9ada62bf67a\",\n            \"display_name\": \"Antwan Bode\"\n        },\n        \"driver\": null,\n        \"stars\": 1,\n        \"comment\": null,\n        \"is_visible\": true,\n        \"is_moderated\": true,\n        \"created_at\": \"2026-11-10T16:07:43+00:00\",\n        \"trip\": null,\n        \"reviewer\": {\n            \"role\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"id\": \"01a1c637-1d83-725a-89d1-f6fa4ffe97b1\",\n            \"name\": \"Kailyn Hintz II\"\n        },\n        \"reviewee\": {\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"id\": \"01a1c637-1d72-72cc-9ed9-f9ada62bf67a\",\n            \"name\": \"Antwan Bode\"\n        },\n        \"private_note\": null,\n        \"tags\": [],\n        \"moderated_by\": {\n            \"id\": \"01a1c637-1d6c-7375-81df-203fba251442\",\n            \"full_name\": \"Kaylee Willms\"\n        },\n        \"moderated_at\": \"2026-11-10T16:07:43+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Review Published",
                                            "_joshen": {
                                                "route": "admin.reviews.publish",
                                                "name": "Review Published",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews/01a1c637-1d8a-7204-a695-29755600bf81/publish",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_hiding_removes_the_stars_from_the_average_and_publishing_restores_them"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/01a1c637-1d8a-7204-a695-29755600bf81/publish",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        "01a1c637-1d8a-7204-a695-29755600bf81",
                                                        "publish"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Rating published.\",\n    \"data\": {\n        \"id\": \"01a1c637-1d8a-7204-a695-29755600bf81\",\n        \"direction\": {\n            \"value\": \"customer_to_provider\",\n            \"label\": \"Customer rated provider\"\n        },\n        \"order\": {\n            \"id\": \"01a1c637-1d85-71de-b09a-411bcc58c1c6\",\n            \"code\": \"JSH-dixp39447882\",\n            \"kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Completed\"\n            },\n            \"completed_at\": \"2026-11-10T16:07:43+00:00\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c637-1d83-725a-89d1-f6fa4ffe97b1\",\n            \"user_id\": \"01a1c637-1d83-725a-89d1-f6fa50eca002\",\n            \"full_name\": \"Kailyn Hintz II\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c637-1d72-72cc-9ed9-f9ada62bf67a\",\n            \"display_name\": \"Antwan Bode\"\n        },\n        \"driver\": null,\n        \"stars\": 1,\n        \"comment\": null,\n        \"is_visible\": true,\n        \"is_moderated\": true,\n        \"created_at\": \"2026-11-10T16:07:43+00:00\",\n        \"trip\": null,\n        \"reviewer\": {\n            \"role\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"id\": \"01a1c637-1d83-725a-89d1-f6fa4ffe97b1\",\n            \"name\": \"Kailyn Hintz II\"\n        },\n        \"reviewee\": {\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"id\": \"01a1c637-1d72-72cc-9ed9-f9ada62bf67a\",\n            \"name\": \"Antwan Bode\"\n        },\n        \"private_note\": null,\n        \"tags\": [],\n        \"moderated_by\": {\n            \"id\": \"01a1c637-1d6c-7375-81df-203fba251442\",\n            \"full_name\": \"Kaylee Willms\"\n        },\n        \"moderated_at\": \"2026-11-10T16:07:43+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review/publish",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review",
                                                        "publish"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review/publish",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review",
                                                        "publish"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review/publish",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review",
                                                        "publish"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Review Publish Unknown",
                                            "_joshen": {
                                                "route": "admin.reviews.publish",
                                                "name": "Review Publish Unknown",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews/316eadb4-7642-466b-ad5e-e963ee7c2573/publish",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_hiding_removes_the_stars_from_the_average_and_publishing_restores_them"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/316eadb4-7642-466b-ad5e-e963ee7c2573/publish",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        "316eadb4-7642-466b-ad5e-e963ee7c2573",
                                                        "publish"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Review Publish Note Too Long",
                                            "_joshen": {
                                                "route": "admin.reviews.publish",
                                                "name": "Review Publish Note Too Long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews/01a1c637-1d8a-7204-a695-29755600bf81/publish",
                                                    "query": null,
                                                    "body": {
                                                        "note": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_hiding_removes_the_stars_from_the_average_and_publishing_restores_them"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/01a1c637-1d8a-7204-a695-29755600bf81/publish",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        "01a1c637-1d8a-7204-a695-29755600bf81",
                                                        "publish"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The note field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"note\": [\n                \"The note field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "review_id",
                                                "set_by": [
                                                    "admin.reviews.index",
                                                    "admin.reviews.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Hide",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"review_id\",\"Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/reviews/:review/hide",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "reviews",
                                                ":review",
                                                "hide"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "review",
                                                    "value": "{{review_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.reviews.hide`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `note`\n- **Description:** Why the review is published or hidden, max 500 characters. Kept in the audit log only; the customer and provider never see it.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Offensive language`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{review_id}}` — Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Review Hidden\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Review Note Too Long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Rating hidden.\",\n    \"data\": {\n        \"id\": \"01a1c637-1d8a-7204-a695-29755600bf81\",\n        \"direction\": {\n            \"value\": \"customer_to_provider\",\n            \"label\": \"Customer rated provider\"\n        },\n        \"order\": {\n            \"id\": \"01a1c637-1d85-71de-b09a-411bcc58c1c6\",\n            \"code\": \"JSH-dixp39447882\",\n            \"kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Completed\"\n            },\n            \"completed_at\": \"2026-11-10T16:07:43+00:00\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c637-1d83-725a-89d1-f6fa4ffe97b1\",\n            \"user_id\": \"01a1c637-1d83-725a-89d1-f6fa50eca002\",\n            \"full_name\": \"Kailyn Hintz II\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c637-1d72-72cc-9ed9-f9ada62bf67a\",\n            \"display_name\": \"Antwan Bode\"\n        },\n        \"driver\": null,\n        \"stars\": 1,\n        \"comment\": null,\n        \"is_visible\": false,\n        \"is_moderated\": true,\n        \"created_at\": \"2026-11-10T16:07:43+00:00\",\n        \"trip\": null,\n        \"reviewer\": {\n            \"role\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"id\": \"01a1c637-1d83-725a-89d1-f6fa4ffe97b1\",\n            \"name\": \"Kailyn Hintz II\"\n        },\n        \"reviewee\": {\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"id\": \"01a1c637-1d72-72cc-9ed9-f9ada62bf67a\",\n            \"name\": \"Antwan Bode\"\n        },\n        \"private_note\": null,\n        \"tags\": [],\n        \"moderated_by\": {\n            \"id\": \"01a1c637-1d6c-7375-81df-203fba251442\",\n            \"full_name\": \"Kaylee Willms\"\n        },\n        \"moderated_at\": \"2026-11-10T16:07:43+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Review Hidden",
                                            "_joshen": {
                                                "route": "admin.reviews.hide",
                                                "name": "Review Hidden",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews/01a1c637-1d8a-7204-a695-29755600bf81/hide",
                                                    "query": null,
                                                    "body": {
                                                        "note": "Offensive language"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_hiding_removes_the_stars_from_the_average_and_publishing_restores_them"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/01a1c637-1d8a-7204-a695-29755600bf81/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        "01a1c637-1d8a-7204-a695-29755600bf81",
                                                        "hide"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Rating hidden.\",\n    \"data\": {\n        \"id\": \"01a1c637-1d8a-7204-a695-29755600bf81\",\n        \"direction\": {\n            \"value\": \"customer_to_provider\",\n            \"label\": \"Customer rated provider\"\n        },\n        \"order\": {\n            \"id\": \"01a1c637-1d85-71de-b09a-411bcc58c1c6\",\n            \"code\": \"JSH-dixp39447882\",\n            \"kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Completed\"\n            },\n            \"completed_at\": \"2026-11-10T16:07:43+00:00\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c637-1d83-725a-89d1-f6fa4ffe97b1\",\n            \"user_id\": \"01a1c637-1d83-725a-89d1-f6fa50eca002\",\n            \"full_name\": \"Kailyn Hintz II\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c637-1d72-72cc-9ed9-f9ada62bf67a\",\n            \"display_name\": \"Antwan Bode\"\n        },\n        \"driver\": null,\n        \"stars\": 1,\n        \"comment\": null,\n        \"is_visible\": false,\n        \"is_moderated\": true,\n        \"created_at\": \"2026-11-10T16:07:43+00:00\",\n        \"trip\": null,\n        \"reviewer\": {\n            \"role\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"id\": \"01a1c637-1d83-725a-89d1-f6fa4ffe97b1\",\n            \"name\": \"Kailyn Hintz II\"\n        },\n        \"reviewee\": {\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"id\": \"01a1c637-1d72-72cc-9ed9-f9ada62bf67a\",\n            \"name\": \"Antwan Bode\"\n        },\n        \"private_note\": null,\n        \"tags\": [],\n        \"moderated_by\": {\n            \"id\": \"01a1c637-1d6c-7375-81df-203fba251442\",\n            \"full_name\": \"Kaylee Willms\"\n        },\n        \"moderated_at\": \"2026-11-10T16:07:43+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review",
                                                        "hide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review",
                                                        "hide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/:review/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        ":review",
                                                        "hide"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "review",
                                                            "value": "{{review_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Offensive language\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Review Note Too Long",
                                            "_joshen": {
                                                "route": "admin.reviews.hide",
                                                "name": "Review Note Too Long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reviews/01a1c637-1d8a-7204-a695-29755600bf81/hide",
                                                    "query": null,
                                                    "body": {
                                                        "note": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReviewModerationTest::test_ac_admin_019_hiding_removes_the_stars_from_the_average_and_publishing_restores_them"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reviews/01a1c637-1d8a-7204-a695-29755600bf81/hide",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reviews",
                                                        "01a1c637-1d8a-7204-a695-29755600bf81",
                                                        "hide"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The note field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"note\": [\n                \"The note field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "review_id",
                                                "set_by": [
                                                    "admin.reviews.index",
                                                    "admin.reviews.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/reviews, GET /api/v1/admin/reviews/{review}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Commission rules",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"commission_rule_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/commission-rules?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "commission-rules"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.commission-rules.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `commission_rule_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Commission Rules List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Commission Rules Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"commission_rules\": [\n            {\n                \"id\": \"01a1c637-38ca-7284-9179-255380ff5e4c\",\n                \"party\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"applies_to\": {\n                    \"value\": \"service\",\n                    \"label\": \"Service value\"\n                },\n                \"calc_type\": {\n                    \"value\": \"percent\",\n                    \"label\": \"Percentage\"\n                },\n                \"value\": \"12.50\",\n                \"is_active\": true,\n                \"effective_from\": \"2026-11-10T16:07:50+00:00\",\n                \"state\": {\n                    \"value\": \"current\",\n                    \"label\": \"In force\"\n                },\n                \"can_edit\": false,\n                \"created_at\": \"2026-11-10T16:07:50+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-38c3-730a-acca-d6a7f34f35e4\",\n                \"party\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"applies_to\": {\n                    \"value\": \"service\",\n                    \"label\": \"Service value\"\n                },\n                \"calc_type\": {\n                    \"value\": \"percent\",\n                    \"label\": \"Percentage\"\n                },\n                \"value\": \"15.00\",\n                \"is_active\": true,\n                \"effective_from\": \"2026-10-10T16:07:50+00:00\",\n                \"state\": {\n                    \"value\": \"superseded\",\n                    \"label\": \"Superseded\"\n                },\n                \"can_edit\": false,\n                \"created_at\": \"2026-11-10T16:07:50+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/commission-rules?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/commission-rules?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/commission-rules?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/commission-rules\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Commission Rules List",
                                            "_joshen": {
                                                "route": "admin.commission-rules.index",
                                                "name": "Commission Rules List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": {
                                                        "filters": {
                                                            "party": "provider"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_new_rule_takes_over_and_the_old_one_is_kept_as_history"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules?filters[party]=provider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[party]",
                                                            "value": "provider"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"commission_rules\": [\n            {\n                \"id\": \"01a1c637-38ca-7284-9179-255380ff5e4c\",\n                \"party\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"applies_to\": {\n                    \"value\": \"service\",\n                    \"label\": \"Service value\"\n                },\n                \"calc_type\": {\n                    \"value\": \"percent\",\n                    \"label\": \"Percentage\"\n                },\n                \"value\": \"12.50\",\n                \"is_active\": true,\n                \"effective_from\": \"2026-11-10T16:07:50+00:00\",\n                \"state\": {\n                    \"value\": \"current\",\n                    \"label\": \"In force\"\n                },\n                \"can_edit\": false,\n                \"created_at\": \"2026-11-10T16:07:50+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-38c3-730a-acca-d6a7f34f35e4\",\n                \"party\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"applies_to\": {\n                    \"value\": \"service\",\n                    \"label\": \"Service value\"\n                },\n                \"calc_type\": {\n                    \"value\": \"percent\",\n                    \"label\": \"Percentage\"\n                },\n                \"value\": \"15.00\",\n                \"is_active\": true,\n                \"effective_from\": \"2026-10-10T16:07:50+00:00\",\n                \"state\": {\n                    \"value\": \"superseded\",\n                    \"label\": \"Superseded\"\n                },\n                \"can_edit\": false,\n                \"created_at\": \"2026-11-10T16:07:50+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/commission-rules?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/commission-rules?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/commission-rules?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/commission-rules\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Commission Rules Forbidden",
                                            "_joshen": {
                                                "route": "admin.commission-rules.index",
                                                "name": "Commission Rules Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_payouts_permission_guards_every_route"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.commission-rules.index\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "commission_rule_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"commission_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "commission-rules"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.commission-rules.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `party`\n- **Description:** Who pays the commission: `provider` (on the service or package value) or `driver` (on the delivery fee only), BR-24.\n- **Type:** `string (enum)`\n- **Allowed values:** `provider`, `driver`\n- **Required:** required\n- **Example:** `provider`\n- **Validation rules:** `required|in:\"provider\",\"driver\"`\n- `required` — must be provided.\n- `in:\"provider\",\"driver\"` — must be one of: \"provider\", \"driver\".\n### `applies_to`\n- **Description:** What it is charged on: `service` or `package` for a provider, `delivery_fee` for a driver.\n- **Type:** `string (enum)`\n- **Allowed values:** `service`, `package`, `delivery_fee`\n- **Required:** required\n- **Example:** `service`\n- **Validation rules:** `required|in:\"service\",\"package\",\"delivery_fee\"`\n- `required` — must be provided.\n- `in:\"service\",\"package\",\"delivery_fee\"` — must be one of: \"service\", \"package\", \"delivery_fee\".\n### `calc_type`\n- **Description:** `percent` of the base or a `fixed` SAR amount. Provider rules must be `percent`: orders snapshot a rate (TD-159). A fixed driver commission never exceeds the fee.\n- **Type:** `string (enum)`\n- **Allowed values:** `percent`, `fixed`\n- **Required:** required\n- **Example:** `percent`\n- **Validation rules:** `required|in:\"percent\",\"fixed\"`\n- `required` — must be provided.\n- `in:\"percent\",\"fixed\"` — must be one of: \"percent\", \"fixed\".\n### `value`\n- **Description:** Percent (0–100) or SAR amount, 2 decimals. 0 means no commission.\n- **Type:** `number`\n- **Required:** required\n- **Example:** `15.00`\n- **Validation rules:** `required|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `effective_from`\n- **Description:** When the rule takes over, ISO 8601, not in the past; default now. A rule that has taken effect can no longer be edited or deleted — add a newer rule instead (TD-159).\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-12-01T00:00:00+03:00`\n- **Validation rules:** `sometimes|date|after_or_equal:now`\n- `sometimes` — validated only when the field is present.\n- `date` — must be a valid date.\n- `after_or_equal:now` — must be on or after now.\n### `is_active`\n- **Description:** Default true. Switch a rule off with `PATCH /commission-rules/{id}/toggle-active`.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `commission_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Commission Rule Created In Force\n- `201` Commission Rule Scheduled\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Commission Rule Driver On Service\n- `422` Commission Rule Missing Fields\n- `422` Commission Rule Percent Above 100\n- `422` Commission Rule Provider Fixed\n- `422` Commission Rule Starts In The Past\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-38ca-7284-9179-255380ff5e4c\",\n        \"party\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"applies_to\": {\n            \"value\": \"service\",\n            \"label\": \"Service value\"\n        },\n        \"calc_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"value\": \"12.50\",\n        \"is_active\": true,\n        \"effective_from\": \"2026-11-10T16:07:50+00:00\",\n        \"state\": {\n            \"value\": \"current\",\n            \"label\": \"In force\"\n        },\n        \"can_edit\": false,\n        \"created_at\": \"2026-11-10T16:07:50+00:00\",\n        \"created_by\": {\n            \"id\": \"01a1c637-38be-73d2-ae5a-e9d84187447d\",\n            \"full_name\": \"Adela McLaughlin\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Commission Rule Created In Force",
                                            "_joshen": {
                                                "route": "admin.commission-rules.store",
                                                "name": "Commission Rule Created In Force",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": null,
                                                    "body": {
                                                        "party": "provider",
                                                        "applies_to": "service",
                                                        "calc_type": "percent",
                                                        "value": "12.50"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_new_rule_takes_over_and_the_old_one_is_kept_as_history"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"12.50\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-38ca-7284-9179-255380ff5e4c\",\n        \"party\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"applies_to\": {\n            \"value\": \"service\",\n            \"label\": \"Service value\"\n        },\n        \"calc_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"value\": \"12.50\",\n        \"is_active\": true,\n        \"effective_from\": \"2026-11-10T16:07:50+00:00\",\n        \"state\": {\n            \"value\": \"current\",\n            \"label\": \"In force\"\n        },\n        \"can_edit\": false,\n        \"created_at\": \"2026-11-10T16:07:50+00:00\",\n        \"created_by\": {\n            \"id\": \"01a1c637-38be-73d2-ae5a-e9d84187447d\",\n            \"full_name\": \"Adela McLaughlin\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Commission Rule Scheduled",
                                            "_joshen": {
                                                "route": "admin.commission-rules.store",
                                                "name": "Commission Rule Scheduled",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": null,
                                                    "body": {
                                                        "party": "driver",
                                                        "applies_to": "delivery_fee",
                                                        "calc_type": "fixed",
                                                        "value": "5.00",
                                                        "effective_from": "2026-11-17T16:07:00+00:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_a_scheduled_rule_can_be_edited_and_deleted_until_it_takes_effect"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"driver\",\n    \"applies_to\": \"delivery_fee\",\n    \"calc_type\": \"fixed\",\n    \"value\": \"5.00\",\n    \"effective_from\": \"2026-11-17T16:07:00+00:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-3ad8-72e9-9257-371ac4e0ce84\",\n        \"party\": {\n            \"value\": \"driver\",\n            \"label\": \"Driver\"\n        },\n        \"applies_to\": {\n            \"value\": \"delivery_fee\",\n            \"label\": \"Delivery fee\"\n        },\n        \"calc_type\": {\n            \"value\": \"fixed\",\n            \"label\": \"Fixed amount\"\n        },\n        \"value\": \"5.00\",\n        \"is_active\": true,\n        \"effective_from\": \"2026-11-17T16:07:00+00:00\",\n        \"state\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"can_edit\": true,\n        \"created_at\": \"2026-11-10T16:07:50+00:00\",\n        \"created_by\": {\n            \"id\": \"01a1c637-3acd-71bf-b349-961ff11e6582\",\n            \"full_name\": \"Candice Hartmann\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Commission Rule Driver On Service",
                                            "_joshen": {
                                                "route": "admin.commission-rules.store",
                                                "name": "Commission Rule Driver On Service",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": null,
                                                    "body": {
                                                        "party": "driver",
                                                        "applies_to": "service",
                                                        "calc_type": "percent",
                                                        "value": "15.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_shape_rules_keep_provider_on_service_value_and_driver_on_the_fee"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"driver\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Provider commission applies to the service or package value; driver commission applies to the delivery fee only.\",\n    \"data\": {\n        \"errors\": {\n            \"applies_to\": [\n                \"Provider commission applies to the service or package value; driver commission applies to the delivery fee only.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Commission Rule Missing Fields",
                                            "_joshen": {
                                                "route": "admin.commission-rules.store",
                                                "name": "Commission Rule Missing Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_shape_rules_keep_provider_on_service_value_and_driver_on_the_fee"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Party field is required. (and 3 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"party\": [\n                \"The Party field is required.\"\n            ],\n            \"applies_to\": [\n                \"The Applies to field is required.\"\n            ],\n            \"calc_type\": [\n                \"The Calculation field is required.\"\n            ],\n            \"value\": [\n                \"The Value field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Commission Rule Percent Above 100",
                                            "_joshen": {
                                                "route": "admin.commission-rules.store",
                                                "name": "Commission Rule Percent Above 100",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": null,
                                                    "body": {
                                                        "party": "provider",
                                                        "applies_to": "service",
                                                        "calc_type": "percent",
                                                        "value": "100.01"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_shape_rules_keep_provider_on_service_value_and_driver_on_the_fee"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"100.01\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A percentage commission cannot exceed 100.\",\n    \"data\": {\n        \"errors\": {\n            \"value\": [\n                \"A percentage commission cannot exceed 100.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Commission Rule Provider Fixed",
                                            "_joshen": {
                                                "route": "admin.commission-rules.store",
                                                "name": "Commission Rule Provider Fixed",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": null,
                                                    "body": {
                                                        "party": "provider",
                                                        "applies_to": "service",
                                                        "calc_type": "fixed",
                                                        "value": "20.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_shape_rules_keep_provider_on_service_value_and_driver_on_the_fee"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"fixed\",\n    \"value\": \"20.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Provider commission must be a percentage.\",\n    \"data\": {\n        \"errors\": {\n            \"calc_type\": [\n                \"Provider commission must be a percentage.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Commission Rule Starts In The Past",
                                            "_joshen": {
                                                "route": "admin.commission-rules.store",
                                                "name": "Commission Rule Starts In The Past",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules",
                                                    "query": null,
                                                    "body": {
                                                        "party": "provider",
                                                        "applies_to": "service",
                                                        "calc_type": "percent",
                                                        "value": "15.00",
                                                        "effective_from": "2026-11-09T16:07:51+00:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_shape_rules_keep_provider_on_service_value_and_driver_on_the_fee"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-11-09T16:07:51+00:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Effective from field must be a date after or equal to now.\",\n    \"data\": {\n        \"errors\": {\n            \"effective_from\": [\n                \"The Effective from field must be a date after or equal to now.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "commission_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"commission_rule_id\",\"Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"commission_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "commission-rules",
                                                ":commission_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "commission_rule",
                                                    "value": "{{commission_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.commission-rules.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{commission_rule_id}}` — Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `commission_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Commission Rule Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-38c3-730a-acca-d6a7f34f35e4\",\n        \"party\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"applies_to\": {\n            \"value\": \"service\",\n            \"label\": \"Service value\"\n        },\n        \"calc_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"value\": \"15.00\",\n        \"is_active\": true,\n        \"effective_from\": \"2026-10-10T16:07:50+00:00\",\n        \"state\": {\n            \"value\": \"superseded\",\n            \"label\": \"Superseded\"\n        },\n        \"can_edit\": false,\n        \"created_at\": \"2026-11-10T16:07:50+00:00\",\n        \"created_by\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Commission Rule Details",
                                            "_joshen": {
                                                "route": "admin.commission-rules.show",
                                                "name": "Commission Rule Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules/01a1c637-38c3-730a-acca-d6a7f34f35e4",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_new_rule_takes_over_and_the_old_one_is_kept_as_history"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/01a1c637-38c3-730a-acca-d6a7f34f35e4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        "01a1c637-38c3-730a-acca-d6a7f34f35e4"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-38c3-730a-acca-d6a7f34f35e4\",\n        \"party\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"applies_to\": {\n            \"value\": \"service\",\n            \"label\": \"Service value\"\n        },\n        \"calc_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"value\": \"15.00\",\n        \"is_active\": true,\n        \"effective_from\": \"2026-10-10T16:07:50+00:00\",\n        \"state\": {\n            \"value\": \"superseded\",\n            \"label\": \"Superseded\"\n        },\n        \"can_edit\": false,\n        \"created_at\": \"2026-11-10T16:07:50+00:00\",\n        \"created_by\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "commission_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "commission_rule_id",
                                                "set_by": [
                                                    "admin.commission-rules.index",
                                                    "admin.commission-rules.store",
                                                    "admin.commission-rules.show",
                                                    "admin.commission-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"commission_rule_id\",\"Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"commission_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "commission-rules",
                                                ":commission_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "commission_rule",
                                                    "value": "{{commission_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.commission-rules.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `party`\n- **Description:** Who pays the commission: `provider` (on the service or package value) or `driver` (on the delivery fee only), BR-24.\n- **Type:** `string (enum)`\n- **Allowed values:** `provider`, `driver`\n- **Required:** optional\n- **Example:** `provider`\n- **Validation rules:** `sometimes|in:\"provider\",\"driver\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"provider\",\"driver\"` — must be one of: \"provider\", \"driver\".\n### `applies_to`\n- **Description:** What it is charged on: `service` or `package` for a provider, `delivery_fee` for a driver.\n- **Type:** `string (enum)`\n- **Allowed values:** `service`, `package`, `delivery_fee`\n- **Required:** optional\n- **Example:** `service`\n- **Validation rules:** `sometimes|in:\"service\",\"package\",\"delivery_fee\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"service\",\"package\",\"delivery_fee\"` — must be one of: \"service\", \"package\", \"delivery_fee\".\n### `calc_type`\n- **Description:** `percent` of the base or a `fixed` SAR amount. Provider rules must be `percent`: orders snapshot a rate (TD-159). A fixed driver commission never exceeds the fee.\n- **Type:** `string (enum)`\n- **Allowed values:** `percent`, `fixed`\n- **Required:** optional\n- **Example:** `percent`\n- **Validation rules:** `sometimes|in:\"percent\",\"fixed\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"percent\",\"fixed\"` — must be one of: \"percent\", \"fixed\".\n### `value`\n- **Description:** Percent (0–100) or SAR amount, 2 decimals. 0 means no commission.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `15.00`\n- **Validation rules:** `sometimes|numeric|min:0|max:9999999999.99|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `min:0` — must be at least .\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `effective_from`\n- **Description:** When the rule takes over, ISO 8601, not in the past; default now. A rule that has taken effect can no longer be edited or deleted — add a newer rule instead (TD-159).\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-12-01T00:00:00+03:00`\n- **Validation rules:** `sometimes|date|after_or_equal:now`\n- `sometimes` — validated only when the field is present.\n- `date` — must be a valid date.\n- `after_or_equal:now` — must be on or after now.\n### `is_active`\n- **Description:** Default true. Switch a rule off with `PATCH /commission-rules/{id}/toggle-active`.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{commission_rule_id}}` — Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `commission_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Commission Rule Scheduled Edited\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Commission Rule In Force Cannot Be Edited — `error_code: COMMISSION_RULE_LOCKED`\n- `422` Commission Rule Edit Negative Value\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-3ad8-72e9-9257-371ac4e0ce84\",\n        \"party\": {\n            \"value\": \"driver\",\n            \"label\": \"Driver\"\n        },\n        \"applies_to\": {\n            \"value\": \"delivery_fee\",\n            \"label\": \"Delivery fee\"\n        },\n        \"calc_type\": {\n            \"value\": \"fixed\",\n            \"label\": \"Fixed amount\"\n        },\n        \"value\": \"4.00\",\n        \"is_active\": true,\n        \"effective_from\": \"2026-11-17T16:07:00+00:00\",\n        \"state\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"can_edit\": true,\n        \"created_at\": \"2026-11-10T16:07:50+00:00\",\n        \"created_by\": {\n            \"id\": \"01a1c637-3acd-71bf-b349-961ff11e6582\",\n            \"full_name\": \"Candice Hartmann\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Commission Rule Scheduled Edited",
                                            "_joshen": {
                                                "route": "admin.commission-rules.update",
                                                "name": "Commission Rule Scheduled Edited",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules/01a1c637-3ad8-72e9-9257-371ac4e0ce84",
                                                    "query": null,
                                                    "body": {
                                                        "value": "4.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_a_scheduled_rule_can_be_edited_and_deleted_until_it_takes_effect"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/01a1c637-3ad8-72e9-9257-371ac4e0ce84",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        "01a1c637-3ad8-72e9-9257-371ac4e0ce84"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"value\": \"4.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-3ad8-72e9-9257-371ac4e0ce84\",\n        \"party\": {\n            \"value\": \"driver\",\n            \"label\": \"Driver\"\n        },\n        \"applies_to\": {\n            \"value\": \"delivery_fee\",\n            \"label\": \"Delivery fee\"\n        },\n        \"calc_type\": {\n            \"value\": \"fixed\",\n            \"label\": \"Fixed amount\"\n        },\n        \"value\": \"4.00\",\n        \"is_active\": true,\n        \"effective_from\": \"2026-11-17T16:07:00+00:00\",\n        \"state\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"can_edit\": true,\n        \"created_at\": \"2026-11-10T16:07:50+00:00\",\n        \"created_by\": {\n            \"id\": \"01a1c637-3acd-71bf-b349-961ff11e6582\",\n            \"full_name\": \"Candice Hartmann\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"party\": \"provider\",\n    \"applies_to\": \"service\",\n    \"calc_type\": \"percent\",\n    \"value\": \"15.00\",\n    \"effective_from\": \"2026-12-01T00:00:00+03:00\",\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Commission Rule In Force Cannot Be Edited",
                                            "_joshen": {
                                                "route": "admin.commission-rules.update",
                                                "name": "Commission Rule In Force Cannot Be Edited",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules/01a1c637-3ad8-72e9-9257-371ac4e0ce84",
                                                    "query": null,
                                                    "body": {
                                                        "value": "3.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_a_scheduled_rule_can_be_edited_and_deleted_until_it_takes_effect"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/01a1c637-3ad8-72e9-9257-371ac4e0ce84",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        "01a1c637-3ad8-72e9-9257-371ac4e0ce84"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"value\": \"3.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This rule has taken effect and can no longer be edited or deleted. Add a new rule with a later start date.\",\n    \"data\": {\n        \"error_code\": \"COMMISSION_RULE_LOCKED\",\n        \"correlation_id\": \"a0543360-c68f-486a-bfb9-fd8cc0140918\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Commission Rule Edit Negative Value",
                                            "_joshen": {
                                                "route": "admin.commission-rules.update",
                                                "name": "Commission Rule Edit Negative Value",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules/01a1c637-3ad8-72e9-9257-371ac4e0ce84",
                                                    "query": null,
                                                    "body": {
                                                        "value": "-1"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_a_scheduled_rule_can_be_edited_and_deleted_until_it_takes_effect"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/01a1c637-3ad8-72e9-9257-371ac4e0ce84",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        "01a1c637-3ad8-72e9-9257-371ac4e0ce84"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"value\": \"-1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Value field must be at least 0.\",\n    \"data\": {\n        \"errors\": {\n            \"value\": [\n                \"The Value field must be at least 0.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "commission_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "commission_rule_id",
                                                "set_by": [
                                                    "admin.commission-rules.index",
                                                    "admin.commission-rules.store",
                                                    "admin.commission-rules.show",
                                                    "admin.commission-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"commission_rule_id\",\"Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "commission-rules",
                                                ":commission_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "commission_rule",
                                                    "value": "{{commission_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.commission-rules.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{commission_rule_id}}` — Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Commission Rule Scheduled Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Commission Rule In Force Cannot Be Deleted — `error_code: COMMISSION_RULE_LOCKED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Commission Rule Scheduled Deleted",
                                            "_joshen": {
                                                "route": "admin.commission-rules.destroy",
                                                "name": "Commission Rule Scheduled Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules/01a1c637-3b01-7388-8623-7476997a4c23",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_a_scheduled_rule_can_be_edited_and_deleted_until_it_takes_effect"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/01a1c637-3b01-7388-8623-7476997a4c23",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        "01a1c637-3b01-7388-8623-7476997a4c23"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Commission Rule In Force Cannot Be Deleted",
                                            "_joshen": {
                                                "route": "admin.commission-rules.destroy",
                                                "name": "Commission Rule In Force Cannot Be Deleted",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules/01a1c637-3ad8-72e9-9257-371ac4e0ce84",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_a_scheduled_rule_can_be_edited_and_deleted_until_it_takes_effect"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/01a1c637-3ad8-72e9-9257-371ac4e0ce84",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        "01a1c637-3ad8-72e9-9257-371ac4e0ce84"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This rule has taken effect and can no longer be edited or deleted. Add a new rule with a later start date.\",\n    \"data\": {\n        \"error_code\": \"COMMISSION_RULE_LOCKED\",\n        \"correlation_id\": \"cfa5ff42-eb14-437b-8fc0-4a7c7e830f9a\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "commission_rule_id",
                                                "set_by": [
                                                    "admin.commission-rules.index",
                                                    "admin.commission-rules.store",
                                                    "admin.commission-rules.show",
                                                    "admin.commission-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Toggle Active",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"commission_rule_id\",\"Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule/toggle-active",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "commission-rules",
                                                ":commission_rule",
                                                "toggle-active"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "commission_rule",
                                                    "value": "{{commission_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.commission-rules.toggle-active`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{commission_rule_id}}` — Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Commission Rule Switched Off\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Commission Rule Last Provider Rule Required — `error_code: COMMISSION_RULE_REQUIRED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-3f51-71ad-9a5d-5fa19b034983\",\n        \"party\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"applies_to\": {\n            \"value\": \"service\",\n            \"label\": \"Service value\"\n        },\n        \"calc_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"value\": \"12.00\",\n        \"is_active\": false,\n        \"effective_from\": \"2026-10-10T16:07:51+00:00\",\n        \"state\": {\n            \"value\": \"inactive\",\n            \"label\": \"Inactive\"\n        },\n        \"can_edit\": false,\n        \"created_at\": \"2026-11-10T16:07:51+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Commission Rule Switched Off",
                                            "_joshen": {
                                                "route": "admin.commission-rules.toggle-active",
                                                "name": "Commission Rule Switched Off",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules/01a1c637-3f51-71ad-9a5d-5fa19b034983/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_the_provider_rule_in_force_cannot_be_switched_off_alone_but_a_driver_rule_can"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/01a1c637-3f51-71ad-9a5d-5fa19b034983/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        "01a1c637-3f51-71ad-9a5d-5fa19b034983",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-3f51-71ad-9a5d-5fa19b034983\",\n        \"party\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"applies_to\": {\n            \"value\": \"service\",\n            \"label\": \"Service value\"\n        },\n        \"calc_type\": {\n            \"value\": \"percent\",\n            \"label\": \"Percentage\"\n        },\n        \"value\": \"12.00\",\n        \"is_active\": false,\n        \"effective_from\": \"2026-10-10T16:07:51+00:00\",\n        \"state\": {\n            \"value\": \"inactive\",\n            \"label\": \"Inactive\"\n        },\n        \"can_edit\": false,\n        \"created_at\": \"2026-11-10T16:07:51+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Commission Rule Last Provider Rule Required",
                                            "_joshen": {
                                                "route": "admin.commission-rules.toggle-active",
                                                "name": "Commission Rule Last Provider Rule Required",
                                                "code": 409,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/commission-rules/01a1c637-3f52-7175-941c-97b5de9b0b3f/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CommissionRuleManagementTest::test_ac_admin_016_the_provider_rule_in_force_cannot_be_switched_off_alone_but_a_driver_rule_can"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/01a1c637-3f52-7175-941c-97b5de9b0b3f/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        "01a1c637-3f52-7175-941c-97b5de9b0b3f",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This is the provider rule in force. Add or activate another provider rule of this type first, or set it to 0%.\",\n    \"data\": {\n        \"error_code\": \"COMMISSION_RULE_REQUIRED\",\n        \"correlation_id\": \"bf1ea3bc-a99d-44cb-a3ba-d5ba9af67c42\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/commission-rules/:commission_rule/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "commission-rules",
                                                        ":commission_rule",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "commission_rule",
                                                            "value": "{{commission_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "commission_rule_id",
                                                "set_by": [
                                                    "admin.commission-rules.index",
                                                    "admin.commission-rules.store",
                                                    "admin.commission-rules.show",
                                                    "admin.commission-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/commission-rules, POST /api/v1/admin/commission-rules, GET /api/v1/admin/commission-rules/{commission_rule}, PUT /api/v1/admin/commission-rules/{commission_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Cancellation rules",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"cancellation_rule_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/cancellation-rules?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "cancellation-rules"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.cancellation-rules.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `cancellation_rule_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Cancellation Rule List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1c636-a93b-700a-bc38-e0ec9cf4b2df\",\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"stage\": {\n                \"value\": \"before_window\",\n                \"label\": \"Before the window\"\n            },\n            \"window_minutes\": null,\n            \"is_allowed\": true,\n            \"fee_percent_of_service\": \"0.00\",\n            \"charge_delivery_fee\": false,\n            \"provider_share_percent\": \"100.00\",\n            \"affects_provider_ranking\": false,\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"description\": \"Aut ut dolores occaecati doloribus laudantium et labore qui.\",\n            \"orders_count\": 1\n        },\n        {\n            \"id\": \"01a1c636-495a-7201-9adb-7be96a960b2b\",\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"booking_type\": {\n                \"value\": \"any\",\n                \"label\": \"Any\"\n            },\n            \"stage\": {\n                \"value\": \"after_arrival\",\n                \"label\": \"After arrival\"\n            },\n            \"window_minutes\": null,\n            \"is_allowed\": false,\n            \"fee_percent_of_service\": \"0.00\",\n            \"charge_delivery_fee\": false,\n            \"provider_share_percent\": \"0.00\",\n            \"affects_provider_ranking\": false,\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"description\": \"Cancellation is unavailable after arrival.\",\n            \"orders_count\": 0\n        },\n        {\n            \"id\": \"01a1c636-4956-7093-9a1b-d47cd3196d6f\",\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"booking_type\": {\n                \"value\": \"any\",\n                \"label\": \"Any\"\n            },\n            \"stage\": {\n                \"value\": \"after_departure\",\n                \"label\": \"After departure\"\n            },\n            \"window_minutes\": null,\n            \"is_allowed\": false,\n            \"fee_percent_of_service\": \"0.00\",\n            \"charge_delivery_fee\": false,\n            \"provider_share_percent\": \"0.00\",\n            \"affects_provider_ranking\": false,\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"description\": \"Cancellation is unavailable after departure.\",\n            \"orders_count\": 0\n        },\n        {\n            \"id\": \"01a1c636-4951-737b-92df-f4e6855eb4f3\",\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"booking_type\": {\n                \"value\": \"any\",\n                \"label\": \"Any\"\n            },\n            \"stage\": {\n                \"value\": \"before_window\",\n                \"label\": \"Before the window\"\n            },\n            \"window_minutes\": null,\n            \"is_allowed\": true,\n            \"fee_percent_of_service\": \"0.00\",\n            \"charge_delivery_fee\": false,\n            \"provider_share_percent\": \"0.00\",\n            \"affects_provider_ranking\": false,\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"description\": \"Free cancellation before execution with a full refund to the wallet.\",\n            \"orders_count\": 0\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Cancellation Rule List",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.index",
                                                "name": "Cancellation Rule List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules",
                                                    "query": {
                                                        "filters": {
                                                            "cancelled_by": "customer"
                                                        },
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_list_filters_by_party_and_counts_the_orders_that_used_a_rule"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules?filters[cancelled_by]=customer&paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[cancelled_by]",
                                                            "value": "customer"
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1c636-a93b-700a-bc38-e0ec9cf4b2df\",\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"stage\": {\n                \"value\": \"before_window\",\n                \"label\": \"Before the window\"\n            },\n            \"window_minutes\": null,\n            \"is_allowed\": true,\n            \"fee_percent_of_service\": \"0.00\",\n            \"charge_delivery_fee\": false,\n            \"provider_share_percent\": \"100.00\",\n            \"affects_provider_ranking\": false,\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"description\": \"Aut ut dolores occaecati doloribus laudantium et labore qui.\",\n            \"orders_count\": 1\n        },\n        {\n            \"id\": \"01a1c636-495a-7201-9adb-7be96a960b2b\",\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"booking_type\": {\n                \"value\": \"any\",\n                \"label\": \"Any\"\n            },\n            \"stage\": {\n                \"value\": \"after_arrival\",\n                \"label\": \"After arrival\"\n            },\n            \"window_minutes\": null,\n            \"is_allowed\": false,\n            \"fee_percent_of_service\": \"0.00\",\n            \"charge_delivery_fee\": false,\n            \"provider_share_percent\": \"0.00\",\n            \"affects_provider_ranking\": false,\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"description\": \"Cancellation is unavailable after arrival.\",\n            \"orders_count\": 0\n        },\n        {\n            \"id\": \"01a1c636-4956-7093-9a1b-d47cd3196d6f\",\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"booking_type\": {\n                \"value\": \"any\",\n                \"label\": \"Any\"\n            },\n            \"stage\": {\n                \"value\": \"after_departure\",\n                \"label\": \"After departure\"\n            },\n            \"window_minutes\": null,\n            \"is_allowed\": false,\n            \"fee_percent_of_service\": \"0.00\",\n            \"charge_delivery_fee\": false,\n            \"provider_share_percent\": \"0.00\",\n            \"affects_provider_ranking\": false,\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"description\": \"Cancellation is unavailable after departure.\",\n            \"orders_count\": 0\n        },\n        {\n            \"id\": \"01a1c636-4951-737b-92df-f4e6855eb4f3\",\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"booking_type\": {\n                \"value\": \"any\",\n                \"label\": \"Any\"\n            },\n            \"stage\": {\n                \"value\": \"before_window\",\n                \"label\": \"Before the window\"\n            },\n            \"window_minutes\": null,\n            \"is_allowed\": true,\n            \"fee_percent_of_service\": \"0.00\",\n            \"charge_delivery_fee\": false,\n            \"provider_share_percent\": \"0.00\",\n            \"affects_provider_ranking\": false,\n            \"is_active\": true,\n            \"sort_order\": 0,\n            \"description\": \"Free cancellation before execution with a full refund to the wallet.\",\n            \"orders_count\": 0\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "cancellation_rule_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"cancellation_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/cancellation-rules",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "cancellation-rules"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.cancellation-rules.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `cancelled_by`\n- **Description:** Who the rule governs: `customer` or `provider` (BR-20).\n- **Type:** `string (enum)`\n- **Allowed values:** `customer`, `provider`\n- **Required:** required\n- **Example:** `customer`\n- **Validation rules:** `required|in:\"customer\",\"provider\"`\n- `required` — must be provided.\n- `in:\"customer\",\"provider\"` — must be one of: \"customer\", \"provider\".\n### `booking_type`\n- **Description:** Booking type it applies to: `instant`, `scheduled` or `any`. An exact type beats `any`, then `sort_order`.\n- **Type:** `string (enum)`\n- **Allowed values:** `instant`, `scheduled`, `any`\n- **Required:** required\n- **Example:** `any`\n- **Validation rules:** `required|in:\"instant\",\"scheduled\",\"any\"`\n- `required` — must be provided.\n- `in:\"instant\",\"scheduled\",\"any\"` — must be one of: \"instant\", \"scheduled\", \"any\".\n### `stage`\n- **Description:** Cancellation stage: `before_window`, `within_window` (the timed tiers), `after_departure` or `after_arrival`. Execution starts at `on_the_way` (BR-19).\n- **Type:** `string (enum)`\n- **Allowed values:** `before_window`, `within_window`, `after_departure`, `after_arrival`\n- **Required:** required\n- **Example:** `before_window`\n- **Validation rules:** `required|in:\"before_window\",\"within_window\",\"after_departure\",\"after_arrival\"`\n- `required` — must be provided.\n- `in:\"before_window\",\"within_window\",\"after_departure\",\"after_arrival\"` — must be one of: \"before_window\", \"within_window\", \"after_departure\", \"after_arrival\".\n### `window_minutes`\n- **Description:** Scheduled: minutes before the visit. Instant: minutes after confirmation. Null = no timed tier. Only on `before_window` / `within_window` (TD-105).\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `120`\n- **Validation rules:** `sometimes|nullable|integer|between:1,525600`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `between:1,525600` — must be between 1, 525600.\n### `is_allowed`\n- **Description:** Whether the party may cancel at this stage. A denying rule cannot carry a fee. Default true.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `fee_percent_of_service`\n- **Description:** Percent of the services amount kept from the customer's refund, 0–100, 2 decimals. Customer rules only; a provider rule must be 0 (the customer is refunded in full).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `0.00`\n- **Validation rules:** `sometimes|numeric|between:0,100|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `between:0,100` — must be between 0, 100.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `charge_delivery_fee`\n- **Description:** Keep the delivery fee from the refund. Customer rules only. It is also what keeps the driver's earning when a trip already completed (TD-155).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `provider_share_percent`\n- **Description:** Share of the fee that belongs to the provider, 0–100. Recorded only; paying it out belongs to the payouts feature (TD-155).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `0.00`\n- **Validation rules:** `sometimes|numeric|between:0,100|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `between:0,100` — must be between 0, 100.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `affects_provider_ranking`\n- **Description:** Whether a provider cancellation under this rule lowers her ranking. DEC-24: false; not applied yet.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `is_active`\n- **Description:** Switch off to stop using the rule. A rule applied to orders is deactivated, never deleted. Default true.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Tie-breaker among rules that match the same booking and stage; lower wins.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `0`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `ar`\n- **Description:** Arabic translation (TD-12). Descriptions are optional.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"description\":\"إلغاء مجاني قبل بدء التنفيذ.\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** English translation (TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"description\":\"Free cancellation before execution.\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `ar.description`\n- **Description:** Arabic explanation shown to customers and providers, max 500 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `إلغاء مجاني قبل بدء التنفيذ.`\n- **Validation rules:** `sometimes|string|min:1|max:500`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `min:1` — must be at least 1.\n- `max:500` — must not exceed 500.\n### `en.description`\n- **Description:** English explanation, max 500 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Free cancellation before execution.`\n- **Validation rules:** `sometimes|string|min:1|max:500`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `min:1` — must be at least 1.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `cancellation_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Cancellation Rule Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Cancellation Rule Missing Fields\n- `422` Cancellation Rule Provider With Fee\n- `422` Cancellation Rule Window On Untimed Stage\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-99f4-7042-9931-1ade0370ce56\",\n        \"cancelled_by\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"booking_type\": {\n            \"value\": \"any\",\n            \"label\": \"Any\"\n        },\n        \"stage\": {\n            \"value\": \"within_window\",\n            \"label\": \"Within the window\"\n        },\n        \"window_minutes\": 120,\n        \"is_allowed\": true,\n        \"fee_percent_of_service\": \"50.00\",\n        \"charge_delivery_fee\": true,\n        \"provider_share_percent\": \"100.00\",\n        \"affects_provider_ranking\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"description\": \"Half the service value is kept\",\n        \"orders_count\": 0,\n        \"ar\": {\n            \"description\": \"رسوم نصف قيمة الخدمة\"\n        },\n        \"en\": {\n            \"description\": \"Half the service value is kept\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"before_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"provider_share_percent\": \"0.00\",\n    \"affects_provider_ranking\": false,\n    \"is_active\": true,\n    \"sort_order\": 0,\n    \"ar\": {\n        \"description\": \"إلغاء مجاني قبل بدء التنفيذ.\"\n    },\n    \"en\": {\n        \"description\": \"Free cancellation before execution.\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Cancellation Rule Created",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.store",
                                                "name": "Cancellation Rule Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules",
                                                    "query": null,
                                                    "body": {
                                                        "cancelled_by": "customer",
                                                        "booking_type": "any",
                                                        "stage": "within_window",
                                                        "window_minutes": 120,
                                                        "is_allowed": true,
                                                        "fee_percent_of_service": "50.00",
                                                        "charge_delivery_fee": true,
                                                        "ar": {
                                                            "description": "رسوم نصف قيمة الخدمة"
                                                        },
                                                        "en": {
                                                            "description": "Half the service value is kept"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_rule_is_created_with_both_locales_and_defaults"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"within_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"50.00\",\n    \"charge_delivery_fee\": true,\n    \"ar\": {\n        \"description\": \"رسوم نصف قيمة الخدمة\"\n    },\n    \"en\": {\n        \"description\": \"Half the service value is kept\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-99f4-7042-9931-1ade0370ce56\",\n        \"cancelled_by\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"booking_type\": {\n            \"value\": \"any\",\n            \"label\": \"Any\"\n        },\n        \"stage\": {\n            \"value\": \"within_window\",\n            \"label\": \"Within the window\"\n        },\n        \"window_minutes\": 120,\n        \"is_allowed\": true,\n        \"fee_percent_of_service\": \"50.00\",\n        \"charge_delivery_fee\": true,\n        \"provider_share_percent\": \"100.00\",\n        \"affects_provider_ranking\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"description\": \"Half the service value is kept\",\n        \"orders_count\": 0,\n        \"ar\": {\n            \"description\": \"رسوم نصف قيمة الخدمة\"\n        },\n        \"en\": {\n            \"description\": \"Half the service value is kept\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"before_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"provider_share_percent\": \"0.00\",\n    \"affects_provider_ranking\": false,\n    \"is_active\": true,\n    \"sort_order\": 0,\n    \"ar\": {\n        \"description\": \"إلغاء مجاني قبل بدء التنفيذ.\"\n    },\n    \"en\": {\n        \"description\": \"Free cancellation before execution.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"before_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"provider_share_percent\": \"0.00\",\n    \"affects_provider_ranking\": false,\n    \"is_active\": true,\n    \"sort_order\": 0,\n    \"ar\": {\n        \"description\": \"إلغاء مجاني قبل بدء التنفيذ.\"\n    },\n    \"en\": {\n        \"description\": \"Free cancellation before execution.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"before_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"provider_share_percent\": \"0.00\",\n    \"affects_provider_ranking\": false,\n    \"is_active\": true,\n    \"sort_order\": 0,\n    \"ar\": {\n        \"description\": \"إلغاء مجاني قبل بدء التنفيذ.\"\n    },\n    \"en\": {\n        \"description\": \"Free cancellation before execution.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancellation Rule Missing Fields",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.store",
                                                "name": "Cancellation Rule Missing Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_rule_requires_party_booking_type_and_stage"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Cancelled by field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"cancelled_by\": [\n                \"The Cancelled by field is required.\"\n            ],\n            \"booking_type\": [\n                \"The Booking type field is required.\"\n            ],\n            \"stage\": [\n                \"The Stage field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancellation Rule Provider With Fee",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.store",
                                                "name": "Cancellation Rule Provider With Fee",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules",
                                                    "query": null,
                                                    "body": {
                                                        "cancelled_by": "provider",
                                                        "booking_type": "any",
                                                        "stage": "within_window",
                                                        "window_minutes": 120,
                                                        "is_allowed": true,
                                                        "fee_percent_of_service": "50.00",
                                                        "charge_delivery_fee": true,
                                                        "ar": {
                                                            "description": "رسوم نصف قيمة الخدمة"
                                                        },
                                                        "en": {
                                                            "description": "Half the service value is kept"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_a_provider_rule_cannot_keep_money_from_the_customer"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"provider\",\n    \"booking_type\": \"any\",\n    \"stage\": \"within_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"50.00\",\n    \"charge_delivery_fee\": true,\n    \"ar\": {\n        \"description\": \"رسوم نصف قيمة الخدمة\"\n    },\n    \"en\": {\n        \"description\": \"Half the service value is kept\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A provider cancellation always refunds the customer in full: the fee must be 0 and the delivery fee is not kept.\",\n    \"data\": {\n        \"errors\": {\n            \"fee_percent_of_service\": [\n                \"A provider cancellation always refunds the customer in full: the fee must be 0 and the delivery fee is not kept.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancellation Rule Window On Untimed Stage",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.store",
                                                "name": "Cancellation Rule Window On Untimed Stage",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules",
                                                    "query": null,
                                                    "body": {
                                                        "cancelled_by": "customer",
                                                        "booking_type": "any",
                                                        "stage": "after_departure",
                                                        "window_minutes": 120,
                                                        "is_allowed": false,
                                                        "fee_percent_of_service": "0.00",
                                                        "charge_delivery_fee": false,
                                                        "ar": {
                                                            "description": "رسوم نصف قيمة الخدمة"
                                                        },
                                                        "en": {
                                                            "description": "Half the service value is kept"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_a_window_only_belongs_on_a_timed_stage"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"after_departure\",\n    \"window_minutes\": 120,\n    \"is_allowed\": false,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"ar\": {\n        \"description\": \"رسوم نصف قيمة الخدمة\"\n    },\n    \"en\": {\n        \"description\": \"Half the service value is kept\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A window applies only to the before-window and within-window stages.\",\n    \"data\": {\n        \"errors\": {\n            \"window_minutes\": [\n                \"A window applies only to the before-window and within-window stages.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "cancellation_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"cancellation_rule_id\",\"Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"cancellation_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "cancellation-rules",
                                                ":cancellation_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "cancellation_rule",
                                                    "value": "{{cancellation_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.cancellation-rules.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{cancellation_rule_id}}` — Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `cancellation_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Cancellation Rule Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-ad76-717d-abe8-19b19fe7fcd0\",\n        \"cancelled_by\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"stage\": {\n            \"value\": \"before_window\",\n            \"label\": \"Before the window\"\n        },\n        \"window_minutes\": null,\n        \"is_allowed\": true,\n        \"fee_percent_of_service\": \"0.00\",\n        \"charge_delivery_fee\": false,\n        \"provider_share_percent\": \"100.00\",\n        \"affects_provider_ranking\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"description\": \"Aut minus accusamus voluptas molestiae tenetur.\",\n        \"orders_count\": 0,\n        \"ar\": {\n            \"description\": \"Deleniti cumque saepe similique.\"\n        },\n        \"en\": {\n            \"description\": \"Aut minus accusamus voluptas molestiae tenetur.\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Cancellation Rule Details",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.show",
                                                "name": "Cancellation Rule Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules/01a1c636-ad76-717d-abe8-19b19fe7fcd0",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_an_integer_id_is_a_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/01a1c636-ad76-717d-abe8-19b19fe7fcd0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        "01a1c636-ad76-717d-abe8-19b19fe7fcd0"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-ad76-717d-abe8-19b19fe7fcd0\",\n        \"cancelled_by\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"stage\": {\n            \"value\": \"before_window\",\n            \"label\": \"Before the window\"\n        },\n        \"window_minutes\": null,\n        \"is_allowed\": true,\n        \"fee_percent_of_service\": \"0.00\",\n        \"charge_delivery_fee\": false,\n        \"provider_share_percent\": \"100.00\",\n        \"affects_provider_ranking\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"description\": \"Aut minus accusamus voluptas molestiae tenetur.\",\n        \"orders_count\": 0,\n        \"ar\": {\n            \"description\": \"Deleniti cumque saepe similique.\"\n        },\n        \"en\": {\n            \"description\": \"Aut minus accusamus voluptas molestiae tenetur.\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "cancellation_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "cancellation_rule_id",
                                                "set_by": [
                                                    "admin.cancellation-rules.index",
                                                    "admin.cancellation-rules.store",
                                                    "admin.cancellation-rules.show",
                                                    "admin.cancellation-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"cancellation_rule_id\",\"Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"cancellation_rule_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "cancellation-rules",
                                                ":cancellation_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "cancellation_rule",
                                                    "value": "{{cancellation_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.cancellation-rules.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `cancelled_by`\n- **Description:** Who the rule governs: `customer` or `provider` (BR-20).\n- **Type:** `string (enum)`\n- **Allowed values:** `customer`, `provider`\n- **Required:** optional\n- **Example:** `customer`\n- **Validation rules:** `sometimes|in:\"customer\",\"provider\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"customer\",\"provider\"` — must be one of: \"customer\", \"provider\".\n### `booking_type`\n- **Description:** Booking type it applies to: `instant`, `scheduled` or `any`. An exact type beats `any`, then `sort_order`.\n- **Type:** `string (enum)`\n- **Allowed values:** `instant`, `scheduled`, `any`\n- **Required:** optional\n- **Example:** `any`\n- **Validation rules:** `sometimes|in:\"instant\",\"scheduled\",\"any\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"instant\",\"scheduled\",\"any\"` — must be one of: \"instant\", \"scheduled\", \"any\".\n### `stage`\n- **Description:** Cancellation stage: `before_window`, `within_window` (the timed tiers), `after_departure` or `after_arrival`. Execution starts at `on_the_way` (BR-19).\n- **Type:** `string (enum)`\n- **Allowed values:** `before_window`, `within_window`, `after_departure`, `after_arrival`\n- **Required:** optional\n- **Example:** `before_window`\n- **Validation rules:** `sometimes|in:\"before_window\",\"within_window\",\"after_departure\",\"after_arrival\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"before_window\",\"within_window\",\"after_departure\",\"after_arrival\"` — must be one of: \"before_window\", \"within_window\", \"after_departure\", \"after_arrival\".\n### `window_minutes`\n- **Description:** Scheduled: minutes before the visit. Instant: minutes after confirmation. Null = no timed tier. Only on `before_window` / `within_window` (TD-105).\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `120`\n- **Validation rules:** `sometimes|nullable|integer|between:1,525600`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `between:1,525600` — must be between 1, 525600.\n### `is_allowed`\n- **Description:** Whether the party may cancel at this stage. A denying rule cannot carry a fee. Default true.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `fee_percent_of_service`\n- **Description:** Percent of the services amount kept from the customer's refund, 0–100, 2 decimals. Customer rules only; a provider rule must be 0 (the customer is refunded in full).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `0.00`\n- **Validation rules:** `sometimes|numeric|between:0,100|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `between:0,100` — must be between 0, 100.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `charge_delivery_fee`\n- **Description:** Keep the delivery fee from the refund. Customer rules only. It is also what keeps the driver's earning when a trip already completed (TD-155).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `provider_share_percent`\n- **Description:** Share of the fee that belongs to the provider, 0–100. Recorded only; paying it out belongs to the payouts feature (TD-155).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `0.00`\n- **Validation rules:** `sometimes|numeric|between:0,100|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `between:0,100` — must be between 0, 100.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `affects_provider_ranking`\n- **Description:** Whether a provider cancellation under this rule lowers her ranking. DEC-24: false; not applied yet.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `is_active`\n- **Description:** Switch off to stop using the rule. A rule applied to orders is deactivated, never deleted. Default true.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Tie-breaker among rules that match the same booking and stage; lower wins.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `0`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `ar`\n- **Description:** Arabic translation (TD-12). Descriptions are optional.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"description\":\"إلغاء مجاني قبل بدء التنفيذ.\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** English translation (TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"description\":\"Free cancellation before execution.\"}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `ar.description`\n- **Description:** Arabic explanation shown to customers and providers, max 500 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `إلغاء مجاني قبل بدء التنفيذ.`\n- **Validation rules:** `sometimes|string|min:1|max:500`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `min:1` — must be at least 1.\n- `max:500` — must not exceed 500.\n### `en.description`\n- **Description:** English explanation, max 500 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Free cancellation before execution.`\n- **Validation rules:** `sometimes|string|min:1|max:500`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `min:1` — must be at least 1.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{cancellation_rule_id}}` — Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `cancellation_rule_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Cancellation Rule Updated Partially\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Cancellation Rule Update Window On Untimed Stage\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-a700-7381-ad93-bb784bd37d80\",\n        \"cancelled_by\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"booking_type\": {\n            \"value\": \"any\",\n            \"label\": \"Any\"\n        },\n        \"stage\": {\n            \"value\": \"within_window\",\n            \"label\": \"Within the window\"\n        },\n        \"window_minutes\": 120,\n        \"is_allowed\": true,\n        \"fee_percent_of_service\": \"25.00\",\n        \"charge_delivery_fee\": true,\n        \"provider_share_percent\": \"100.00\",\n        \"affects_provider_ranking\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"description\": \"Half the service value is kept\",\n        \"orders_count\": 0,\n        \"ar\": {\n            \"description\": \"رسوم نصف قيمة الخدمة\"\n        },\n        \"en\": {\n            \"description\": \"Half the service value is kept\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"before_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"provider_share_percent\": \"0.00\",\n    \"affects_provider_ranking\": false,\n    \"is_active\": true,\n    \"sort_order\": 0,\n    \"ar\": {\n        \"description\": \"إلغاء مجاني قبل بدء التنفيذ.\"\n    },\n    \"en\": {\n        \"description\": \"Free cancellation before execution.\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Cancellation Rule Updated Partially",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.update",
                                                "name": "Cancellation Rule Updated Partially",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules/01a1c636-a700-7381-ad93-bb784bd37d80",
                                                    "query": null,
                                                    "body": {
                                                        "fee_percent_of_service": "25.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_update_merges_with_the_stored_rule"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/01a1c636-a700-7381-ad93-bb784bd37d80",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        "01a1c636-a700-7381-ad93-bb784bd37d80"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"fee_percent_of_service\": \"25.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-a700-7381-ad93-bb784bd37d80\",\n        \"cancelled_by\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"booking_type\": {\n            \"value\": \"any\",\n            \"label\": \"Any\"\n        },\n        \"stage\": {\n            \"value\": \"within_window\",\n            \"label\": \"Within the window\"\n        },\n        \"window_minutes\": 120,\n        \"is_allowed\": true,\n        \"fee_percent_of_service\": \"25.00\",\n        \"charge_delivery_fee\": true,\n        \"provider_share_percent\": \"100.00\",\n        \"affects_provider_ranking\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"description\": \"Half the service value is kept\",\n        \"orders_count\": 0,\n        \"ar\": {\n            \"description\": \"رسوم نصف قيمة الخدمة\"\n        },\n        \"en\": {\n            \"description\": \"Half the service value is kept\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"before_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"provider_share_percent\": \"0.00\",\n    \"affects_provider_ranking\": false,\n    \"is_active\": true,\n    \"sort_order\": 0,\n    \"ar\": {\n        \"description\": \"إلغاء مجاني قبل بدء التنفيذ.\"\n    },\n    \"en\": {\n        \"description\": \"Free cancellation before execution.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"before_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"provider_share_percent\": \"0.00\",\n    \"affects_provider_ranking\": false,\n    \"is_active\": true,\n    \"sort_order\": 0,\n    \"ar\": {\n        \"description\": \"إلغاء مجاني قبل بدء التنفيذ.\"\n    },\n    \"en\": {\n        \"description\": \"Free cancellation before execution.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"cancelled_by\": \"customer\",\n    \"booking_type\": \"any\",\n    \"stage\": \"before_window\",\n    \"window_minutes\": 120,\n    \"is_allowed\": true,\n    \"fee_percent_of_service\": \"0.00\",\n    \"charge_delivery_fee\": false,\n    \"provider_share_percent\": \"0.00\",\n    \"affects_provider_ranking\": false,\n    \"is_active\": true,\n    \"sort_order\": 0,\n    \"ar\": {\n        \"description\": \"إلغاء مجاني قبل بدء التنفيذ.\"\n    },\n    \"en\": {\n        \"description\": \"Free cancellation before execution.\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancellation Rule Update Window On Untimed Stage",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.update",
                                                "name": "Cancellation Rule Update Window On Untimed Stage",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules/01a1c636-a700-7381-ad93-bb784bd37d80",
                                                    "query": null,
                                                    "body": {
                                                        "stage": "after_arrival"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_update_merges_with_the_stored_rule"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/01a1c636-a700-7381-ad93-bb784bd37d80",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        "01a1c636-a700-7381-ad93-bb784bd37d80"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stage\": \"after_arrival\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A window applies only to the before-window and within-window stages.\",\n    \"data\": {\n        \"errors\": {\n            \"window_minutes\": [\n                \"A window applies only to the before-window and within-window stages.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "cancellation_rule_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "cancellation_rule_id",
                                                "set_by": [
                                                    "admin.cancellation-rules.index",
                                                    "admin.cancellation-rules.store",
                                                    "admin.cancellation-rules.show",
                                                    "admin.cancellation-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"cancellation_rule_id\",\"Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "cancellation-rules",
                                                ":cancellation_rule"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "cancellation_rule",
                                                    "value": "{{cancellation_rule_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.cancellation-rules.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{cancellation_rule_id}}` — Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Cancellation Rule Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Cancellation Rule In Use — `error_code: CANCELLATION_RULE_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Cancellation Rule Deleted",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.destroy",
                                                "name": "Cancellation Rule Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules/01a1c636-ab4b-7138-99ca-d54bb216a567",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_a_rule_applied_to_an_order_is_deactivated_never_deleted"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/01a1c636-ab4b-7138-99ca-d54bb216a567",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        "01a1c636-ab4b-7138-99ca-d54bb216a567"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/:cancellation_rule",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        ":cancellation_rule"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation_rule",
                                                            "value": "{{cancellation_rule_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Cancellation Rule In Use",
                                            "_joshen": {
                                                "route": "admin.cancellation-rules.destroy",
                                                "name": "Cancellation Rule In Use",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellation-rules/01a1c636-ab48-71f8-8fec-51be67748acf",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_a_rule_applied_to_an_order_is_deactivated_never_deleted"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellation-rules/01a1c636-ab48-71f8-8fec-51be67748acf",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellation-rules",
                                                        "01a1c636-ab48-71f8-8fec-51be67748acf"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This rule was applied to orders. Deactivate it instead of deleting it.\",\n    \"data\": {\n        \"error_code\": \"CANCELLATION_RULE_IN_USE\",\n        \"correlation_id\": \"1d58b190-d69c-485a-9595-67d799c61302\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "cancellation_rule_id",
                                                "set_by": [
                                                    "admin.cancellation-rules.index",
                                                    "admin.cancellation-rules.store",
                                                    "admin.cancellation-rules.show",
                                                    "admin.cancellation-rules.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/cancellation-rules, POST /api/v1/admin/cancellation-rules, GET /api/v1/admin/cancellation-rules/{cancellation_rule}, PUT /api/v1/admin/cancellation-rules/{cancellation_rule}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Cancellations",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"customer_id\",\"Saved by GET /api/v1/admin/payments/customers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"cancellation_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/cancellations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "cancellations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "JSH-48",
                                                    "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[cancelled_by]",
                                                    "value": "customer",
                                                    "description": "Who cancelled: customer, provider, admin or system. — `string (enum)`, one of: `customer`, `provider`, `admin`, `system`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[booking_type]",
                                                    "value": "instant",
                                                    "description": "Booking type: `instant` or `scheduled`. — `string (enum)`, one of: `instant`, `scheduled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[payment_status]",
                                                    "value": "refunded",
                                                    "description": "Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[refund_status]",
                                                    "value": "failed",
                                                    "description": "Orders with at least one refund in this status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[customer_id]",
                                                    "value": "{{customer_id}}",
                                                    "description": "Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[cancelled_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest cancellation date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[cancelled_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest cancellation date, `YYYY-MM-DD`, not before `cancelled_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[cancelled_at]",
                                                    "value": "desc",
                                                    "description": "Order by cancellation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[total_amount]",
                                                    "value": "desc",
                                                    "description": "Order by the order total. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[cancellation_fee]",
                                                    "value": "desc",
                                                    "description": "Order by the fee kept from the customer. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.cancellations.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the order code, e.g. `JSH-48`. — `string` (optional)\n- `filters[cancelled_by]` — Who cancelled: customer, provider, admin or system. — `string (enum)`, one of: `customer`, `provider`, `admin`, `system` (optional)\n- `filters[booking_type]` — Booking type: `instant` or `scheduled`. — `string (enum)`, one of: `instant`, `scheduled` (optional)\n- `filters[payment_status]` — Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded` (optional)\n- `filters[refund_status]` — Orders with at least one refund in this status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed` (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[customer_id]` — Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19) (optional)\n- `filters[cancelled_from]` — Earliest cancellation date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[cancelled_to]` — Latest cancellation date, `YYYY-MM-DD`, not before `cancelled_from`. — `string (date)` (optional)\n- `sort[cancelled_at]` — Order by cancellation time; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[total_amount]` — Order by the order total. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[cancellation_fee]` — Order by the fee kept from the customer. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{customer_id}}` — Saved by GET /api/v1/admin/payments/customers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `cancellation_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Cancellations List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Cancellations Unknown Filter Value\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"cancellations\": [\n            {\n                \"id\": \"01a1c636-b226-730e-94b5-a800211b071e\",\n                \"code\": \"JSH-hlij01813688\",\n                \"customer\": {\n                    \"id\": \"01a1c636-b22a-70de-8e40-6a939d59f509\",\n                    \"user_id\": \"01a1c636-b22a-70de-8e40-6a939e534a7b\",\n                    \"full_name\": \"Jay Rice\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-b22e-73ef-b3e4-cd3771e3f863\",\n                    \"display_name\": \"Bella Renner\"\n                },\n                \"booking_type\": {\n                    \"value\": \"instant\",\n                    \"label\": \"Instant\"\n                },\n                \"cancelled_by\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"reason\": \"Plans changed\",\n                \"cancelled_at\": \"2026-11-10T16:07:15+00:00\",\n                \"payment_status\": {\n                    \"value\": \"refunded\",\n                    \"label\": \"Refunded\"\n                },\n                \"total_amount\": \"150.00\",\n                \"cancellation_fee\": \"0.00\",\n                \"refunded_amount\": \"150.00\",\n                \"refund_status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"rule\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/cancellations?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/cancellations?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/cancellations?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/cancellations\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Cancellations List",
                                            "_joshen": {
                                                "route": "admin.cancellations.index",
                                                "name": "Cancellations List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellations",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_cancellation_shows_party_refund_wallet_credit_and_no_amounts_due"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"cancellations\": [\n            {\n                \"id\": \"01a1c636-b226-730e-94b5-a800211b071e\",\n                \"code\": \"JSH-hlij01813688\",\n                \"customer\": {\n                    \"id\": \"01a1c636-b22a-70de-8e40-6a939d59f509\",\n                    \"user_id\": \"01a1c636-b22a-70de-8e40-6a939e534a7b\",\n                    \"full_name\": \"Jay Rice\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c636-b22e-73ef-b3e4-cd3771e3f863\",\n                    \"display_name\": \"Bella Renner\"\n                },\n                \"booking_type\": {\n                    \"value\": \"instant\",\n                    \"label\": \"Instant\"\n                },\n                \"cancelled_by\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"reason\": \"Plans changed\",\n                \"cancelled_at\": \"2026-11-10T16:07:15+00:00\",\n                \"payment_status\": {\n                    \"value\": \"refunded\",\n                    \"label\": \"Refunded\"\n                },\n                \"total_amount\": \"150.00\",\n                \"cancellation_fee\": \"0.00\",\n                \"refunded_amount\": \"150.00\",\n                \"refund_status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"rule\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/cancellations?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/cancellations?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/cancellations?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/cancellations\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_by]",
                                                            "value": "customer",
                                                            "description": "Who cancelled: customer, provider, admin or system. — `string (enum)`, one of: `customer`, `provider`, `admin`, `system`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[booking_type]",
                                                            "value": "instant",
                                                            "description": "Booking type: `instant` or `scheduled`. — `string (enum)`, one of: `instant`, `scheduled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[payment_status]",
                                                            "value": "refunded",
                                                            "description": "Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[refund_status]",
                                                            "value": "failed",
                                                            "description": "Orders with at least one refund in this status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest cancellation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest cancellation date, `YYYY-MM-DD`, not before `cancelled_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[cancelled_at]",
                                                            "value": "desc",
                                                            "description": "Order by cancellation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the order total. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[cancellation_fee]",
                                                            "value": "desc",
                                                            "description": "Order by the fee kept from the customer. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_by]",
                                                            "value": "customer",
                                                            "description": "Who cancelled: customer, provider, admin or system. — `string (enum)`, one of: `customer`, `provider`, `admin`, `system`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[booking_type]",
                                                            "value": "instant",
                                                            "description": "Booking type: `instant` or `scheduled`. — `string (enum)`, one of: `instant`, `scheduled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[payment_status]",
                                                            "value": "refunded",
                                                            "description": "Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[refund_status]",
                                                            "value": "failed",
                                                            "description": "Orders with at least one refund in this status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest cancellation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest cancellation date, `YYYY-MM-DD`, not before `cancelled_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[cancelled_at]",
                                                            "value": "desc",
                                                            "description": "Order by cancellation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the order total. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[cancellation_fee]",
                                                            "value": "desc",
                                                            "description": "Order by the fee kept from the customer. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_by]",
                                                            "value": "customer",
                                                            "description": "Who cancelled: customer, provider, admin or system. — `string (enum)`, one of: `customer`, `provider`, `admin`, `system`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[booking_type]",
                                                            "value": "instant",
                                                            "description": "Booking type: `instant` or `scheduled`. — `string (enum)`, one of: `instant`, `scheduled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[payment_status]",
                                                            "value": "refunded",
                                                            "description": "Payment status of the order: unpaid, pending, paid, failed, refunded or partially_refunded. — `string (enum)`, one of: `unpaid`, `pending`, `paid`, `failed`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[refund_status]",
                                                            "value": "failed",
                                                            "description": "Orders with at least one refund in this status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`). — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest cancellation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[cancelled_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest cancellation date, `YYYY-MM-DD`, not before `cancelled_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[cancelled_at]",
                                                            "value": "desc",
                                                            "description": "Order by cancellation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the order total. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[cancellation_fee]",
                                                            "value": "desc",
                                                            "description": "Order by the fee kept from the customer. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancellations Unknown Filter Value",
                                            "_joshen": {
                                                "route": "admin.cancellations.index",
                                                "name": "Cancellations Unknown Filter Value",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellations",
                                                    "query": {
                                                        "filters": {
                                                            "cancelled_by": "nobody"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_cancellations_list_filters_and_excludes_live_orders"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations?filters[cancelled_by]=nobody",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[cancelled_by]",
                                                            "value": "nobody"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.cancelled by is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.cancelled_by\": [\n                \"The selected filters.cancelled by is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "cancellation_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "customer_id",
                                                "set_by": [
                                                    "admin.payments.customers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments/customers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"cancellation_id\",\"Saved by GET /api/v1/admin/cancellations, GET /api/v1/admin/cancellations/{cancellation}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"cancellation_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/cancellations/:cancellation",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "cancellations",
                                                ":cancellation"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "cancellation",
                                                    "value": "{{cancellation_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/cancellations, GET /api/v1/admin/cancellations/{cancellation}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.cancellations.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{cancellation_id}}` — Saved by GET /api/v1/admin/cancellations, GET /api/v1/admin/cancellations/{cancellation}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `cancellation_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Cancellation Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-b226-730e-94b5-a800211b071e\",\n        \"code\": \"JSH-hlij01813688\",\n        \"customer\": {\n            \"id\": \"01a1c636-b22a-70de-8e40-6a939d59f509\",\n            \"user_id\": \"01a1c636-b22a-70de-8e40-6a939e534a7b\",\n            \"full_name\": \"Jay Rice\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c636-b22e-73ef-b3e4-cd3771e3f863\",\n            \"display_name\": \"Bella Renner\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"cancelled_by\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"reason\": \"Plans changed\",\n        \"cancelled_at\": \"2026-11-10T16:07:15+00:00\",\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"total_amount\": \"150.00\",\n        \"cancellation_fee\": \"0.00\",\n        \"refunded_amount\": \"150.00\",\n        \"refund_status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"rule\": null,\n        \"amounts\": {\n            \"services_amount\": \"130.00\",\n            \"package_amount\": \"0.00\",\n            \"delivery_fee\": \"20.00\",\n            \"discount_amount\": \"0.00\",\n            \"vat_amount\": \"0.00\",\n            \"total_amount\": \"150.00\"\n        },\n        \"order_status_at_cancel\": null,\n        \"refunds\": [\n            {\n                \"id\": \"01a1c636-b236-7086-9104-ee3e68a86621\",\n                \"amount\": \"150.00\",\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"destination\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"reason\": {\n                    \"value\": \"customer_cancel\",\n                    \"label\": \"Customer cancelled\"\n                },\n                \"wallet_credit\": {\n                    \"id\": \"01a1c636-b237-73d2-8ae3-cd761693a5b2\",\n                    \"amount\": \"150.00\",\n                    \"balance_after\": \"150.00\",\n                    \"at\": \"2026-11-10T16:07:15+00:00\"\n                },\n                \"processed_by\": null,\n                \"processed_at\": \"2026-11-10T16:07:15+00:00\"\n            }\n        ],\n        \"earnings_due\": 0,\n        \"earnings\": []\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Cancellation Details",
                                            "_joshen": {
                                                "route": "admin.cancellations.show",
                                                "name": "Cancellation Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/cancellations/01a1c636-b226-730e-94b5-a800211b071e",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_cancellation_shows_party_refund_wallet_credit_and_no_amounts_due"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations/01a1c636-b226-730e-94b5-a800211b071e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations",
                                                        "01a1c636-b226-730e-94b5-a800211b071e"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-b226-730e-94b5-a800211b071e\",\n        \"code\": \"JSH-hlij01813688\",\n        \"customer\": {\n            \"id\": \"01a1c636-b22a-70de-8e40-6a939d59f509\",\n            \"user_id\": \"01a1c636-b22a-70de-8e40-6a939e534a7b\",\n            \"full_name\": \"Jay Rice\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c636-b22e-73ef-b3e4-cd3771e3f863\",\n            \"display_name\": \"Bella Renner\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"cancelled_by\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"reason\": \"Plans changed\",\n        \"cancelled_at\": \"2026-11-10T16:07:15+00:00\",\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"total_amount\": \"150.00\",\n        \"cancellation_fee\": \"0.00\",\n        \"refunded_amount\": \"150.00\",\n        \"refund_status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"rule\": null,\n        \"amounts\": {\n            \"services_amount\": \"130.00\",\n            \"package_amount\": \"0.00\",\n            \"delivery_fee\": \"20.00\",\n            \"discount_amount\": \"0.00\",\n            \"vat_amount\": \"0.00\",\n            \"total_amount\": \"150.00\"\n        },\n        \"order_status_at_cancel\": null,\n        \"refunds\": [\n            {\n                \"id\": \"01a1c636-b236-7086-9104-ee3e68a86621\",\n                \"amount\": \"150.00\",\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"destination\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"reason\": {\n                    \"value\": \"customer_cancel\",\n                    \"label\": \"Customer cancelled\"\n                },\n                \"wallet_credit\": {\n                    \"id\": \"01a1c636-b237-73d2-8ae3-cd761693a5b2\",\n                    \"amount\": \"150.00\",\n                    \"balance_after\": \"150.00\",\n                    \"at\": \"2026-11-10T16:07:15+00:00\"\n                },\n                \"processed_by\": null,\n                \"processed_at\": \"2026-11-10T16:07:15+00:00\"\n            }\n        ],\n        \"earnings_due\": 0,\n        \"earnings\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations/:cancellation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations",
                                                        ":cancellation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation",
                                                            "value": "{{cancellation_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellations, GET /api/v1/admin/cancellations/{cancellation}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations/:cancellation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations",
                                                        ":cancellation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation",
                                                            "value": "{{cancellation_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellations, GET /api/v1/admin/cancellations/{cancellation}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/cancellations/:cancellation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "cancellations",
                                                        ":cancellation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "cancellation",
                                                            "value": "{{cancellation_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/cancellations, GET /api/v1/admin/cancellations/{cancellation}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "cancellation_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "cancellation_id",
                                                "set_by": [
                                                    "admin.cancellations.index",
                                                    "admin.cancellations.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/cancellations, GET /api/v1/admin/cancellations/{cancellation}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Payments",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"customer_id\",\"Saved by GET /api/v1/admin/payments/customers.\"],[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"payment_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payments",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payments"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "JSH-48",
                                                    "description": "Partial match on the order code, the gateway transaction number, or the payer name. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "failed",
                                                    "description": "Payment status: initiated, authorized, paid, failed, voided, refunded or partially_refunded. — `string (enum)`, one of: `initiated`, `authorized`, `paid`, `failed`, `voided`, `refunded`, `partially_refunded`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[method]",
                                                    "value": "wallet",
                                                    "description": "Payment method: card, mada, apple_pay, tabby, wallet, wallet_plus_gateway or earnings_deduction. — `string (enum)`, one of: `card`, `mada`, `apple_pay`, `tabby`, `wallet`, `wallet_plus_gateway`, `earnings_deduction`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[purpose]",
                                                    "value": "order",
                                                    "description": "Transaction type: `order` (customer order or package) or `featured_subscription` (provider plan). — `string (enum)`, one of: `order`, `featured_subscription`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[order_id]",
                                                    "value": "{{order_id}}",
                                                    "description": "Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[customer_id]",
                                                    "value": "{{customer_id}}",
                                                    "description": "Customer profile uuid (`customers`) who paid. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`): the provider of the order, or the subscriber of the plan. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest creation date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[amount]",
                                                    "value": "desc",
                                                    "description": "Order by the payment amount. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[paid_at]",
                                                    "value": "desc",
                                                    "description": "Order by the settlement time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payments.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the order code, the gateway transaction number, or the payer name. — `string` (optional)\n- `filters[status]` — Payment status: initiated, authorized, paid, failed, voided, refunded or partially_refunded. — `string (enum)`, one of: `initiated`, `authorized`, `paid`, `failed`, `voided`, `refunded`, `partially_refunded` (optional)\n- `filters[method]` — Payment method: card, mada, apple_pay, tabby, wallet, wallet_plus_gateway or earnings_deduction. — `string (enum)`, one of: `card`, `mada`, `apple_pay`, `tabby`, `wallet`, `wallet_plus_gateway`, `earnings_deduction` (optional)\n- `filters[purpose]` — Transaction type: `order` (customer order or package) or `featured_subscription` (provider plan). — `string (enum)`, one of: `order`, `featured_subscription` (optional)\n- `filters[order_id]` — Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19) (optional)\n- `filters[customer_id]` — Customer profile uuid (`customers`) who paid. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19) (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`): the provider of the order, or the subscriber of the plan. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[created_from]` — Earliest creation date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[created_to]` — Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)` (optional)\n- `sort[created_at]` — Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[amount]` — Order by the payment amount. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[paid_at]` — Order by the settlement time. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{customer_id}}` — Saved by GET /api/v1/admin/payments/customers.\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `payment_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Payments Filtered By Method\n- `200` Payments List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Payments Invalid Filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"payments\": [\n            {\n                \"id\": \"01a1c637-0fb3-734d-afa2-7c5b6d089623\",\n                \"transaction_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Order payment\"\n                },\n                \"transaction_number\": null,\n                \"payer\": {\n                    \"name\": \"Mr. Ned Gislason\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"540030010\"\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-0fab-7281-8681-ebb16d65eda9\",\n                    \"user_id\": \"01a1c637-0fac-701f-b295-9d355c21ee67\",\n                    \"full_name\": \"Mr. Ned Gislason\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-0faf-71e3-80fc-6e77d2e9aedc\",\n                    \"display_name\": \"Ms. Donna Wiegand DDS\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-0fa6-71c2-bb26-0d7d14ba23dd\",\n                    \"code\": \"JSH-hder64926745\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    },\n                    \"order_value\": \"130.00\",\n                    \"delivery_fee\": \"20.00\",\n                    \"final_total\": \"150.00\"\n                },\n                \"subscription\": null,\n                \"method\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"150.00\",\n                \"wallet_amount\": \"150.00\",\n                \"gateway_amount\": \"0.00\",\n                \"paid_at\": \"2026-11-10T16:07:39+00:00\",\n                \"created_at\": \"2026-11-10T16:07:39+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payments?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payments?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payments?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payments\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payments Filtered By Method",
                                            "_joshen": {
                                                "route": "admin.payments.index",
                                                "name": "Payments Filtered By Method",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments",
                                                    "query": {
                                                        "filters": {
                                                            "method": "wallet"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentManagementTest::test_ac_admin_015_wallet_payment_shows_wallet_amount_and_filters_narrow_the_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments?filters[method]=wallet",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[method]",
                                                            "value": "wallet"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"payments\": [\n            {\n                \"id\": \"01a1c637-0fb3-734d-afa2-7c5b6d089623\",\n                \"transaction_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Order payment\"\n                },\n                \"transaction_number\": null,\n                \"payer\": {\n                    \"name\": \"Mr. Ned Gislason\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"540030010\"\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-0fab-7281-8681-ebb16d65eda9\",\n                    \"user_id\": \"01a1c637-0fac-701f-b295-9d355c21ee67\",\n                    \"full_name\": \"Mr. Ned Gislason\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-0faf-71e3-80fc-6e77d2e9aedc\",\n                    \"display_name\": \"Ms. Donna Wiegand DDS\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-0fa6-71c2-bb26-0d7d14ba23dd\",\n                    \"code\": \"JSH-hder64926745\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    },\n                    \"order_value\": \"130.00\",\n                    \"delivery_fee\": \"20.00\",\n                    \"final_total\": \"150.00\"\n                },\n                \"subscription\": null,\n                \"method\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"150.00\",\n                \"wallet_amount\": \"150.00\",\n                \"gateway_amount\": \"0.00\",\n                \"paid_at\": \"2026-11-10T16:07:39+00:00\",\n                \"created_at\": \"2026-11-10T16:07:39+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payments?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payments?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payments?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payments\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Payments List",
                                            "_joshen": {
                                                "route": "admin.payments.index",
                                                "name": "Payments List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentManagementTest::test_ac_admin_015_list_shows_order_and_subscription_payments_with_money_split"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"payments\": [\n            {\n                \"id\": \"01a1c637-0d58-7206-a402-cf7fd040b90d\",\n                \"transaction_type\": {\n                    \"value\": \"featured_subscription\",\n                    \"label\": \"Featured subscription payment\"\n                },\n                \"transaction_number\": null,\n                \"payer\": {\n                    \"name\": \"Bernadette Cole\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"511416819\"\n                },\n                \"customer\": null,\n                \"provider\": {\n                    \"id\": \"01a1c637-0d54-70ec-8549-1483896cfbb9\",\n                    \"display_name\": \"Jennie Rohan\"\n                },\n                \"order\": null,\n                \"subscription\": {\n                    \"id\": \"01a1c637-0d4f-7102-a6c6-d3feaed051b5\",\n                    \"plan_name\": \"Sample-ptdq84895529\",\n                    \"subscription_fee\": \"100.00\"\n                },\n                \"method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"149.00\",\n                \"wallet_amount\": \"0.00\",\n                \"gateway_amount\": \"149.00\",\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-10T16:07:39+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-0d4d-7291-add5-5bbd8b50cc2f\",\n                \"transaction_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Order payment\"\n                },\n                \"transaction_number\": null,\n                \"payer\": {\n                    \"name\": \"Hayley Nienow\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"517984700\"\n                },\n                \"customer\": {\n                    \"id\": \"01a1c637-0d44-7316-a6ba-85efca2820d0\",\n                    \"user_id\": \"01a1c637-0d44-7316-a6ba-85efca9688f4\",\n                    \"full_name\": \"Hayley Nienow\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1c637-0d47-7026-bb9e-6b0b997bb487\",\n                    \"display_name\": \"Estefania Hoeger\"\n                },\n                \"order\": {\n                    \"id\": \"01a1c637-0d3c-70cf-9209-adc60162ccbb\",\n                    \"code\": \"JSH-ihpx71931310\",\n                    \"kind\": {\n                        \"value\": \"service\",\n                        \"label\": \"Service\"\n                    },\n                    \"order_value\": \"130.00\",\n                    \"delivery_fee\": \"20.00\",\n                    \"final_total\": \"150.00\"\n                },\n                \"subscription\": null,\n                \"method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"150.00\",\n                \"wallet_amount\": \"0.00\",\n                \"gateway_amount\": \"150.00\",\n                \"paid_at\": \"2026-11-10T16:07:39+00:00\",\n                \"created_at\": \"2026-11-10T16:07:39+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payments?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payments?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payments?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payments\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, the gateway transaction number, or the payer name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "failed",
                                                            "description": "Payment status: initiated, authorized, paid, failed, voided, refunded or partially_refunded. — `string (enum)`, one of: `initiated`, `authorized`, `paid`, `failed`, `voided`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[method]",
                                                            "value": "wallet",
                                                            "description": "Payment method: card, mada, apple_pay, tabby, wallet, wallet_plus_gateway or earnings_deduction. — `string (enum)`, one of: `card`, `mada`, `apple_pay`, `tabby`, `wallet`, `wallet_plus_gateway`, `earnings_deduction`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[purpose]",
                                                            "value": "order",
                                                            "description": "Transaction type: `order` (customer order or package) or `featured_subscription` (provider plan). — `string (enum)`, one of: `order`, `featured_subscription`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_id]",
                                                            "value": "{{order_id}}",
                                                            "description": "Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) who paid. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`): the provider of the order, or the subscriber of the plan. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the payment amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid_at]",
                                                            "value": "desc",
                                                            "description": "Order by the settlement time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, the gateway transaction number, or the payer name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "failed",
                                                            "description": "Payment status: initiated, authorized, paid, failed, voided, refunded or partially_refunded. — `string (enum)`, one of: `initiated`, `authorized`, `paid`, `failed`, `voided`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[method]",
                                                            "value": "wallet",
                                                            "description": "Payment method: card, mada, apple_pay, tabby, wallet, wallet_plus_gateway or earnings_deduction. — `string (enum)`, one of: `card`, `mada`, `apple_pay`, `tabby`, `wallet`, `wallet_plus_gateway`, `earnings_deduction`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[purpose]",
                                                            "value": "order",
                                                            "description": "Transaction type: `order` (customer order or package) or `featured_subscription` (provider plan). — `string (enum)`, one of: `order`, `featured_subscription`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_id]",
                                                            "value": "{{order_id}}",
                                                            "description": "Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) who paid. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`): the provider of the order, or the subscriber of the plan. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the payment amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid_at]",
                                                            "value": "desc",
                                                            "description": "Order by the settlement time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, the gateway transaction number, or the payer name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "failed",
                                                            "description": "Payment status: initiated, authorized, paid, failed, voided, refunded or partially_refunded. — `string (enum)`, one of: `initiated`, `authorized`, `paid`, `failed`, `voided`, `refunded`, `partially_refunded`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[method]",
                                                            "value": "wallet",
                                                            "description": "Payment method: card, mada, apple_pay, tabby, wallet, wallet_plus_gateway or earnings_deduction. — `string (enum)`, one of: `card`, `mada`, `apple_pay`, `tabby`, `wallet`, `wallet_plus_gateway`, `earnings_deduction`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[purpose]",
                                                            "value": "order",
                                                            "description": "Transaction type: `order` (customer order or package) or `featured_subscription` (provider plan). — `string (enum)`, one of: `order`, `featured_subscription`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_id]",
                                                            "value": "{{order_id}}",
                                                            "description": "Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) who paid. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`): the provider of the order, or the subscriber of the plan. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the payment amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid_at]",
                                                            "value": "desc",
                                                            "description": "Order by the settlement time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payments Invalid Filter",
                                            "_joshen": {
                                                "route": "admin.payments.index",
                                                "name": "Payments Invalid Filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments",
                                                    "query": {
                                                        "filters": {
                                                            "status": "unknown"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentManagementTest::test_ac_admin_015_validation_not_found_and_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments?filters[status]=unknown",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "unknown"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "payment_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "customer_id",
                                                "set_by": [
                                                    "admin.payments.customers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments/customers."
                                            },
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Customers",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"customer_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payments/customers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payments",
                                                "customers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Sara",
                                                    "description": "Partial match on the customer's name or phone. — `string`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payments.customers`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the customer's name or phone. — `string` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `customer_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Payment Customers Lookup\n- `200` Payment Customers Lookup Unpaginated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Payment Customers Lookup Invalid\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"customers\": [\n            {\n                \"id\": \"01a1c636-6423-71f7-a275-43db2e5d7a49\",\n                \"user_id\": null,\n                \"full_name\": \"Nora Payer\",\n                \"phone_code\": \"966\",\n                \"phone\": \"502220002\"\n            },\n            {\n                \"id\": \"01a1c636-6409-7381-a2d0-504fc059207c\",\n                \"user_id\": null,\n                \"full_name\": \"Sara Payer\",\n                \"phone_code\": \"966\",\n                \"phone\": \"501110001\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payments/customers?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payments/customers?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payments/customers?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payments/customers\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payment Customers Lookup",
                                            "_joshen": {
                                                "route": "admin.payments.customers",
                                                "name": "Payment Customers Lookup",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments/customers",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_payment_customer_lookup_returns_profile_uuids_the_payment_filter_accepts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/customers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "customers"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"customers\": [\n            {\n                \"id\": \"01a1c636-6423-71f7-a275-43db2e5d7a49\",\n                \"user_id\": null,\n                \"full_name\": \"Nora Payer\",\n                \"phone_code\": \"966\",\n                \"phone\": \"502220002\"\n            },\n            {\n                \"id\": \"01a1c636-6409-7381-a2d0-504fc059207c\",\n                \"user_id\": null,\n                \"full_name\": \"Sara Payer\",\n                \"phone_code\": \"966\",\n                \"phone\": \"501110001\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payments/customers?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payments/customers?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payments/customers?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payments/customers\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Payment Customers Lookup Unpaginated",
                                            "_joshen": {
                                                "route": "admin.payments.customers",
                                                "name": "Payment Customers Lookup Unpaginated",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments/customers",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_payment_customer_lookup_searches_paginates_validates_and_needs_the_payments_view_cell"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/customers?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "customers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1c636-68ca-71e4-b695-cd78af47ab2a\",\n            \"user_id\": null,\n            \"full_name\": \"Nora Payer\",\n            \"phone_code\": \"966\",\n            \"phone\": \"502220002\"\n        },\n        {\n            \"id\": \"01a1c636-68b8-71f3-b2be-10e3856c0f3e\",\n            \"user_id\": null,\n            \"full_name\": \"Sara Payer\",\n            \"phone_code\": \"966\",\n            \"phone\": \"501110001\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/customers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "customers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Sara",
                                                            "description": "Partial match on the customer's name or phone. — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/customers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "customers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Sara",
                                                            "description": "Partial match on the customer's name or phone. — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/customers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "customers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Sara",
                                                            "description": "Partial match on the customer's name or phone. — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payment Customers Lookup Invalid",
                                            "_joshen": {
                                                "route": "admin.payments.customers",
                                                "name": "Payment Customers Lookup Invalid",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments/customers",
                                                    "query": {
                                                        "per_page": 0,
                                                        "paginate": "sometimes"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_payment_customer_lookup_searches_paginates_validates_and_needs_the_payments_view_cell"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/customers?per_page=0&paginate=sometimes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "customers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "0"
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "sometimes"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be between 1 and 100. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ],\n            \"paginate\": [\n                \"The selected paginate is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "customer_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"payment_id\",\"Saved by GET /api/v1/admin/payments, GET /api/v1/admin/payments/{payment}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"payment_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payments/:payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payments",
                                                ":payment"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "payment",
                                                    "value": "{{payment_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/payments, GET /api/v1/admin/payments/{payment}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payments.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{payment_id}}` — Saved by GET /api/v1/admin/payments, GET /api/v1/admin/payments/{payment}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `payment_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Payment Details\n- `200` Payment Details Subscription\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Payment Not Found\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-1219-73d9-ab37-390099d502c9\",\n        \"transaction_type\": {\n            \"value\": \"order\",\n            \"label\": \"Order payment\"\n        },\n        \"transaction_number\": null,\n        \"payer\": {\n            \"name\": \"Miss Mckayla Monahan IV\",\n            \"phone_code\": \"966\",\n            \"phone\": \"595873511\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c637-1211-71cb-b441-cf9a6f8dc131\",\n            \"user_id\": \"01a1c637-1211-71cb-b441-cf9a700e6595\",\n            \"full_name\": \"Miss Mckayla Monahan IV\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c637-1214-713c-8c24-e498c066d58f\",\n            \"display_name\": \"Carleton Maggio\"\n        },\n        \"order\": {\n            \"id\": \"01a1c637-120c-73ec-b0fc-c5375fae2dfb\",\n            \"code\": \"JSH-auks62994490\",\n            \"kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"order_value\": \"130.00\",\n            \"delivery_fee\": \"20.00\",\n            \"final_total\": \"150.00\"\n        },\n        \"subscription\": null,\n        \"method\": {\n            \"value\": \"card\",\n            \"label\": \"Bank card\"\n        },\n        \"status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"amount\": \"150.00\",\n        \"wallet_amount\": \"0.00\",\n        \"gateway_amount\": \"150.00\",\n        \"paid_at\": \"2026-11-10T16:07:40+00:00\",\n        \"created_at\": \"2026-11-10T16:07:40+00:00\",\n        \"gateway\": null,\n        \"gateway_fee\": null,\n        \"failure_reason\": null,\n        \"invoice\": null,\n        \"subscription_period\": null,\n        \"refunds\": [\n            {\n                \"id\": \"01a1c637-121a-7277-af67-80dc7164f9ae\",\n                \"amount\": \"40.00\",\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"reason\": {\n                    \"value\": \"provider_rejected\",\n                    \"label\": \"Provider rejected\"\n                },\n                \"processed_at\": null\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payment Details",
                                            "_joshen": {
                                                "route": "admin.payments.show",
                                                "name": "Payment Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments/01a1c637-1219-73d9-ab37-390099d502c9",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentManagementTest::test_ac_admin_015_details_show_invoice_failure_reason_and_refund_history"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/01a1c637-1219-73d9-ab37-390099d502c9",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "01a1c637-1219-73d9-ab37-390099d502c9"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-1219-73d9-ab37-390099d502c9\",\n        \"transaction_type\": {\n            \"value\": \"order\",\n            \"label\": \"Order payment\"\n        },\n        \"transaction_number\": null,\n        \"payer\": {\n            \"name\": \"Miss Mckayla Monahan IV\",\n            \"phone_code\": \"966\",\n            \"phone\": \"595873511\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c637-1211-71cb-b441-cf9a6f8dc131\",\n            \"user_id\": \"01a1c637-1211-71cb-b441-cf9a700e6595\",\n            \"full_name\": \"Miss Mckayla Monahan IV\"\n        },\n        \"provider\": {\n            \"id\": \"01a1c637-1214-713c-8c24-e498c066d58f\",\n            \"display_name\": \"Carleton Maggio\"\n        },\n        \"order\": {\n            \"id\": \"01a1c637-120c-73ec-b0fc-c5375fae2dfb\",\n            \"code\": \"JSH-auks62994490\",\n            \"kind\": {\n                \"value\": \"service\",\n                \"label\": \"Service\"\n            },\n            \"order_value\": \"130.00\",\n            \"delivery_fee\": \"20.00\",\n            \"final_total\": \"150.00\"\n        },\n        \"subscription\": null,\n        \"method\": {\n            \"value\": \"card\",\n            \"label\": \"Bank card\"\n        },\n        \"status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"amount\": \"150.00\",\n        \"wallet_amount\": \"0.00\",\n        \"gateway_amount\": \"150.00\",\n        \"paid_at\": \"2026-11-10T16:07:40+00:00\",\n        \"created_at\": \"2026-11-10T16:07:40+00:00\",\n        \"gateway\": null,\n        \"gateway_fee\": null,\n        \"failure_reason\": null,\n        \"invoice\": null,\n        \"subscription_period\": null,\n        \"refunds\": [\n            {\n                \"id\": \"01a1c637-121a-7277-af67-80dc7164f9ae\",\n                \"amount\": \"40.00\",\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"reason\": {\n                    \"value\": \"provider_rejected\",\n                    \"label\": \"Provider rejected\"\n                },\n                \"processed_at\": null\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "200 Payment Details Subscription",
                                            "_joshen": {
                                                "route": "admin.payments.show",
                                                "name": "Payment Details Subscription",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments/01a1c637-122e-7371-8f23-cf0b7d67c280",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentManagementTest::test_ac_admin_015_details_show_invoice_failure_reason_and_refund_history"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/01a1c637-122e-7371-8f23-cf0b7d67c280",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "01a1c637-122e-7371-8f23-cf0b7d67c280"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-122e-7371-8f23-cf0b7d67c280\",\n        \"transaction_type\": {\n            \"value\": \"featured_subscription\",\n            \"label\": \"Featured subscription payment\"\n        },\n        \"transaction_number\": null,\n        \"payer\": {\n            \"name\": \"Dr. Jovani Harber\",\n            \"phone_code\": \"966\",\n            \"phone\": \"558863520\"\n        },\n        \"customer\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-122a-708a-8934-0d992c30e1b2\",\n            \"display_name\": \"Mr. Gunnar Leuschke III\"\n        },\n        \"order\": null,\n        \"subscription\": {\n            \"id\": \"01a1c637-1227-7388-a775-ee067dfc3617\",\n            \"plan_name\": \"Sample-kpka57457154\",\n            \"subscription_fee\": \"100.00\"\n        },\n        \"method\": {\n            \"value\": \"card\",\n            \"label\": \"Bank card\"\n        },\n        \"status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"amount\": \"100.00\",\n        \"wallet_amount\": \"0.00\",\n        \"gateway_amount\": \"100.00\",\n        \"paid_at\": null,\n        \"created_at\": \"2026-11-10T16:07:40+00:00\",\n        \"gateway\": null,\n        \"gateway_fee\": null,\n        \"failure_reason\": null,\n        \"invoice\": null,\n        \"subscription_period\": {\n            \"duration_days\": 30,\n            \"starts_at\": null,\n            \"ends_at\": null,\n            \"status\": \"pending_payment\"\n        },\n        \"refunds\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/:payment",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        ":payment"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payment",
                                                            "value": "{{payment_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payments, GET /api/v1/admin/payments/{payment}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/:payment",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        ":payment"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payment",
                                                            "value": "{{payment_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payments, GET /api/v1/admin/payments/{payment}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/:payment",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        ":payment"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payment",
                                                            "value": "{{payment_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payments, GET /api/v1/admin/payments/{payment}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Payment Not Found",
                                            "_joshen": {
                                                "route": "admin.payments.show",
                                                "name": "Payment Not Found",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payments/f346e689-2033-3bd9-b216-c5e7204cc966",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PaymentManagementTest::test_ac_admin_015_validation_not_found_and_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payments/f346e689-2033-3bd9-b216-c5e7204cc966",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payments",
                                                        "f346e689-2033-3bd9-b216-c5e7204cc966"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "payment_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "payment_id",
                                                "set_by": [
                                                    "admin.payments.index",
                                                    "admin.payments.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments, GET /api/v1/admin/payments/{payment}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Refunds",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"customer_id\",\"Saved by GET /api/v1/admin/payments/customers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"refund_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/refunds",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "refunds"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "JSH-48",
                                                    "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "failed",
                                                    "description": "Refund status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[reason]",
                                                    "value": "customer_cancel",
                                                    "description": "Refund reason: customer_cancel, provider_cancel, provider_rejected, provider_timeout, admin, package_refund or other. — `string (enum)`, one of: `customer_cancel`, `provider_cancel`, `provider_rejected`, `provider_timeout`, `admin`, `package_refund`, `other`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[destination]",
                                                    "value": "wallet",
                                                    "description": "Where the money goes: `wallet` (the only destination in use, DEC-10) or `original_method`. — `string (enum)`, one of: `wallet`, `original_method`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[order_id]",
                                                    "value": "{{order_id}}",
                                                    "description": "Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[customer_id]",
                                                    "value": "{{customer_id}}",
                                                    "description": "Customer profile uuid (`customers`) of the order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest creation date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[amount]",
                                                    "value": "desc",
                                                    "description": "Order by the refund amount. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.refunds.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the order code, e.g. `JSH-48`. — `string` (optional)\n- `filters[status]` — Refund status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed` (optional)\n- `filters[reason]` — Refund reason: customer_cancel, provider_cancel, provider_rejected, provider_timeout, admin, package_refund or other. — `string (enum)`, one of: `customer_cancel`, `provider_cancel`, `provider_rejected`, `provider_timeout`, `admin`, `package_refund`, `other` (optional)\n- `filters[destination]` — Where the money goes: `wallet` (the only destination in use, DEC-10) or `original_method`. — `string (enum)`, one of: `wallet`, `original_method` (optional)\n- `filters[order_id]` — Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19) (optional)\n- `filters[customer_id]` — Customer profile uuid (`customers`) of the order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19) (optional)\n- `filters[created_from]` — Earliest creation date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[created_to]` — Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)` (optional)\n- `sort[created_at]` — Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[amount]` — Order by the refund amount. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{customer_id}}` — Saved by GET /api/v1/admin/payments/customers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `refund_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Refunds List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Refunds List Unknown Status\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"refunds\": [\n            {\n                \"id\": \"01a1c636-d447-73f3-8233-2ca60468903b\",\n                \"order\": {\n                    \"id\": \"01a1c636-d447-73f3-8233-2ca604c97f53\",\n                    \"code\": \"JSH-agwl71234289\"\n                },\n                \"customer\": {\n                    \"id\": \"01a1c636-d44c-732c-9d58-2fcc25f00eb2\",\n                    \"user_id\": \"01a1c636-d44c-732c-9d58-2fcc26c93598\",\n                    \"full_name\": \"Brycen Heaney\"\n                },\n                \"amount\": \"100.00\",\n                \"destination\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"reason\": {\n                    \"value\": \"provider_rejected\",\n                    \"label\": \"Provider rejected\"\n                },\n                \"status\": {\n                    \"value\": \"failed\",\n                    \"label\": \"Failed\"\n                },\n                \"processed_by\": null,\n                \"processed_at\": null,\n                \"created_at\": \"2026-11-10T16:07:24+00:00\"\n            },\n            {\n                \"id\": \"01a1c636-d433-7054-9629-5a39d6a1dd9c\",\n                \"order\": {\n                    \"id\": \"01a1c636-d41b-70e0-8ac4-53eb5c4c054b\",\n                    \"code\": \"JSH-ypfj52816328\"\n                },\n                \"customer\": {\n                    \"id\": \"01a1c636-d420-7235-8d31-22a8b5d0dd89\",\n                    \"user_id\": \"01a1c636-d420-7235-8d31-22a8b68bfcf6\",\n                    \"full_name\": \"Dr. Gladyce Satterfield\"\n                },\n                \"amount\": \"30.00\",\n                \"destination\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"reason\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Admin refund\"\n                },\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"processed_by\": {\n                    \"id\": \"01a1c636-d417-7088-9447-3cfa3fd07eab\",\n                    \"name\": \"Mckenzie Hane\"\n                },\n                \"processed_at\": \"2026-11-10T16:07:24+00:00\",\n                \"created_at\": \"2026-11-10T16:07:24+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/refunds?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/refunds?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/refunds?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/refunds\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Refunds List",
                                            "_joshen": {
                                                "route": "admin.refunds.index",
                                                "name": "Refunds List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_refunds_list_and_details"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"refunds\": [\n            {\n                \"id\": \"01a1c636-d447-73f3-8233-2ca60468903b\",\n                \"order\": {\n                    \"id\": \"01a1c636-d447-73f3-8233-2ca604c97f53\",\n                    \"code\": \"JSH-agwl71234289\"\n                },\n                \"customer\": {\n                    \"id\": \"01a1c636-d44c-732c-9d58-2fcc25f00eb2\",\n                    \"user_id\": \"01a1c636-d44c-732c-9d58-2fcc26c93598\",\n                    \"full_name\": \"Brycen Heaney\"\n                },\n                \"amount\": \"100.00\",\n                \"destination\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"reason\": {\n                    \"value\": \"provider_rejected\",\n                    \"label\": \"Provider rejected\"\n                },\n                \"status\": {\n                    \"value\": \"failed\",\n                    \"label\": \"Failed\"\n                },\n                \"processed_by\": null,\n                \"processed_at\": null,\n                \"created_at\": \"2026-11-10T16:07:24+00:00\"\n            },\n            {\n                \"id\": \"01a1c636-d433-7054-9629-5a39d6a1dd9c\",\n                \"order\": {\n                    \"id\": \"01a1c636-d41b-70e0-8ac4-53eb5c4c054b\",\n                    \"code\": \"JSH-ypfj52816328\"\n                },\n                \"customer\": {\n                    \"id\": \"01a1c636-d420-7235-8d31-22a8b5d0dd89\",\n                    \"user_id\": \"01a1c636-d420-7235-8d31-22a8b68bfcf6\",\n                    \"full_name\": \"Dr. Gladyce Satterfield\"\n                },\n                \"amount\": \"30.00\",\n                \"destination\": {\n                    \"value\": \"wallet\",\n                    \"label\": \"Wallet\"\n                },\n                \"reason\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Admin refund\"\n                },\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"processed_by\": {\n                    \"id\": \"01a1c636-d417-7088-9447-3cfa3fd07eab\",\n                    \"name\": \"Mckenzie Hane\"\n                },\n                \"processed_at\": \"2026-11-10T16:07:24+00:00\",\n                \"created_at\": \"2026-11-10T16:07:24+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/refunds?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/refunds?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/refunds?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/refunds\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "failed",
                                                            "description": "Refund status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[reason]",
                                                            "value": "customer_cancel",
                                                            "description": "Refund reason: customer_cancel, provider_cancel, provider_rejected, provider_timeout, admin, package_refund or other. — `string (enum)`, one of: `customer_cancel`, `provider_cancel`, `provider_rejected`, `provider_timeout`, `admin`, `package_refund`, `other`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[destination]",
                                                            "value": "wallet",
                                                            "description": "Where the money goes: `wallet` (the only destination in use, DEC-10) or `original_method`. — `string (enum)`, one of: `wallet`, `original_method`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_id]",
                                                            "value": "{{order_id}}",
                                                            "description": "Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) of the order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the refund amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "failed",
                                                            "description": "Refund status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[reason]",
                                                            "value": "customer_cancel",
                                                            "description": "Refund reason: customer_cancel, provider_cancel, provider_rejected, provider_timeout, admin, package_refund or other. — `string (enum)`, one of: `customer_cancel`, `provider_cancel`, `provider_rejected`, `provider_timeout`, `admin`, `package_refund`, `other`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[destination]",
                                                            "value": "wallet",
                                                            "description": "Where the money goes: `wallet` (the only destination in use, DEC-10) or `original_method`. — `string (enum)`, one of: `wallet`, `original_method`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_id]",
                                                            "value": "{{order_id}}",
                                                            "description": "Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) of the order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the refund amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "JSH-48",
                                                            "description": "Partial match on the order code, e.g. `JSH-48`. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "failed",
                                                            "description": "Refund status: pending, completed or failed. — `string (enum)`, one of: `pending`, `completed`, `failed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[reason]",
                                                            "value": "customer_cancel",
                                                            "description": "Refund reason: customer_cancel, provider_cancel, provider_rejected, provider_timeout, admin, package_refund or other. — `string (enum)`, one of: `customer_cancel`, `provider_cancel`, `provider_rejected`, `provider_timeout`, `admin`, `package_refund`, `other`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[destination]",
                                                            "value": "wallet",
                                                            "description": "Where the money goes: `wallet` (the only destination in use, DEC-10) or `original_method`. — `string (enum)`, one of: `wallet`, `original_method`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[order_id]",
                                                            "value": "{{order_id}}",
                                                            "description": "Order public uuid (`orders`). — `string (uuid)`, a `orders` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[customer_id]",
                                                            "value": "{{customer_id}}",
                                                            "description": "Customer profile uuid (`customers`) of the order. — `string (uuid)`, a `customers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest creation date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest creation date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the refund amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Refunds List Unknown Status",
                                            "_joshen": {
                                                "route": "admin.refunds.index",
                                                "name": "Refunds List Unknown Status",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": {
                                                        "filters": {
                                                            "status": "nope"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_refunds_list_and_details"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds?filters[status]=nope",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "nope"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "refund_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "customer_id",
                                                "set_by": [
                                                    "admin.payments.customers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payments/customers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"refund_idempotency_key\",\"Choose a new key for each intended refund; reuse the same key when retrying POST admin/refunds.\"],[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"refund_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            },
                                            {
                                                "key": "Idempotency-Key",
                                                "value": "{{refund_idempotency_key}}",
                                                "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/refunds",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "refunds"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.refunds.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `order_id`\n- **Description:** Public uuid of the paid order to refund. Orders in any status can be refunded while paid money is left.\n- **Type:** `string (uuid)`\n- **Refers to:** a `orders` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{order_id}}`\n- **Validation rules:** `required|uuid|exists:orders,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:orders,uuid` — must reference an existing record (orders, uuid).\n### `amount`\n- **Description:** SAR, 2 decimals, above zero and at most what is still refundable on the order's newest paid payment. Credited to the customer wallet (DEC-10).\n- **Type:** `number`\n- **Required:** required\n- **Example:** `50.00`\n- **Validation rules:** `required|numeric|gt:0|max:9999999999.99|decimal:0,2`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `gt:0` — custom validation rule.\n- `max:9999999999.99` — must not exceed 9999999999.99.\n- `decimal:0,2` — must have 0, 2 decimal places.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{refund_idempotency_key}}` — Choose a new key for each intended refund; reuse the same key when retrying POST admin/refunds.\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Saves `refund_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Refund Created Partial\n- `201` Refund Full Reverses Earning\n- `201` Refund Replayed With Same Key\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Refund Key Reused With Another Body — `error_code: IDEMPOTENCY_KEY_REUSED`\n- `422` Refund Amount Exceeds Remaining\n- `422` Refund Missing Idempotency Key — `error_code: VALIDATION_FAILED`\n- `422` Refund Nothing Left — `error_code: REFUND_NOT_AVAILABLE`\n- `422` Refund Validation\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Refund credited to the customer wallet.\",\n    \"data\": {\n        \"id\": \"01a1c636-b6a9-7170-aa49-9cfba3d94c2e\",\n        \"order\": {\n            \"id\": \"01a1c636-b690-71a8-bfc9-95501d4cd910\",\n            \"code\": \"JSH-burd99444553\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c636-b695-72f8-ab53-fe165cd07801\",\n            \"user_id\": \"01a1c636-b695-72f8-ab53-fe165cee62be\",\n            \"full_name\": \"Aiden Okuneva\"\n        },\n        \"amount\": \"50.00\",\n        \"destination\": {\n            \"value\": \"wallet\",\n            \"label\": \"Wallet\"\n        },\n        \"reason\": {\n            \"value\": \"admin\",\n            \"label\": \"Admin refund\"\n        },\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"processed_by\": {\n            \"id\": \"01a1c636-b68d-7243-bd63-225d90b9ce5d\",\n            \"name\": \"Domingo Muller\"\n        },\n        \"processed_at\": \"2026-11-10T16:07:16+00:00\",\n        \"created_at\": \"2026-11-10T16:07:16+00:00\",\n        \"order_payment_status\": {\n            \"value\": \"partially_refunded\",\n            \"label\": \"Partially refunded\"\n        },\n        \"order_total_amount\": \"150.00\",\n        \"payment\": {\n            \"id\": \"01a1c636-b69d-7013-93c4-b11389769ac3\",\n            \"amount\": \"150.00\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"partially_refunded\",\n                \"label\": \"Partially refunded\"\n            }\n        },\n        \"wallet_transaction\": {\n            \"id\": \"01a1c636-b6ab-71dc-80d0-af05fca01646\",\n            \"amount\": \"50.00\",\n            \"balance_after\": \"50.00\",\n            \"created_at\": \"2026-11-10T16:07:16+00:00\"\n        },\n        \"earnings\": {\n            \"reversed\": 0,\n            \"not_reversible\": 0\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"order_id\": \"{{order_id}}\",\n    \"amount\": \"50.00\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Refund Created Partial",
                                            "_joshen": {
                                                "route": "admin.refunds.store",
                                                "name": "Refund Created Partial",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": {
                                                        "order_id": "01a1c636-b690-71a8-bfc9-95501d4cd910",
                                                        "amount": "50.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_admin_refunds_part_of_a_paid_order_to_the_wallet"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"01a1c636-b690-71a8-bfc9-95501d4cd910\",\n    \"amount\": \"50.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Refund credited to the customer wallet.\",\n    \"data\": {\n        \"id\": \"01a1c636-b6a9-7170-aa49-9cfba3d94c2e\",\n        \"order\": {\n            \"id\": \"01a1c636-b690-71a8-bfc9-95501d4cd910\",\n            \"code\": \"JSH-burd99444553\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c636-b695-72f8-ab53-fe165cd07801\",\n            \"user_id\": \"01a1c636-b695-72f8-ab53-fe165cee62be\",\n            \"full_name\": \"Aiden Okuneva\"\n        },\n        \"amount\": \"50.00\",\n        \"destination\": {\n            \"value\": \"wallet\",\n            \"label\": \"Wallet\"\n        },\n        \"reason\": {\n            \"value\": \"admin\",\n            \"label\": \"Admin refund\"\n        },\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"processed_by\": {\n            \"id\": \"01a1c636-b68d-7243-bd63-225d90b9ce5d\",\n            \"name\": \"Domingo Muller\"\n        },\n        \"processed_at\": \"2026-11-10T16:07:16+00:00\",\n        \"created_at\": \"2026-11-10T16:07:16+00:00\",\n        \"order_payment_status\": {\n            \"value\": \"partially_refunded\",\n            \"label\": \"Partially refunded\"\n        },\n        \"order_total_amount\": \"150.00\",\n        \"payment\": {\n            \"id\": \"01a1c636-b69d-7013-93c4-b11389769ac3\",\n            \"amount\": \"150.00\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"partially_refunded\",\n                \"label\": \"Partially refunded\"\n            }\n        },\n        \"wallet_transaction\": {\n            \"id\": \"01a1c636-b6ab-71dc-80d0-af05fca01646\",\n            \"amount\": \"50.00\",\n            \"balance_after\": \"50.00\",\n            \"created_at\": \"2026-11-10T16:07:16+00:00\"\n        },\n        \"earnings\": {\n            \"reversed\": 0,\n            \"not_reversible\": 0\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Refund Full Reverses Earning",
                                            "_joshen": {
                                                "route": "admin.refunds.store",
                                                "name": "Refund Full Reverses Earning",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": {
                                                        "order_id": "01a1c636-bfca-7072-9597-3da3ab35e7b5",
                                                        "amount": "150.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_a_full_refund_reverses_the_providers_earning_but_not_one_already_in_payout"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"01a1c636-bfca-7072-9597-3da3ab35e7b5\",\n    \"amount\": \"150.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Refund credited to the customer wallet.\",\n    \"data\": {\n        \"id\": \"01a1c636-bfe8-719d-bc66-741cc4c9e769\",\n        \"order\": {\n            \"id\": \"01a1c636-bfca-7072-9597-3da3ab35e7b5\",\n            \"code\": \"JSH-qvnb93207317\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c636-bfd0-719a-9ade-00311d5a4fd1\",\n            \"user_id\": \"01a1c636-bfd0-719a-9ade-00311dcd6435\",\n            \"full_name\": \"Mr. Garth Skiles\"\n        },\n        \"amount\": \"150.00\",\n        \"destination\": {\n            \"value\": \"wallet\",\n            \"label\": \"Wallet\"\n        },\n        \"reason\": {\n            \"value\": \"admin\",\n            \"label\": \"Admin refund\"\n        },\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"processed_by\": {\n            \"id\": \"01a1c636-bfc5-7040-af4c-99740680f7e6\",\n            \"name\": \"Valerie Halvorson\"\n        },\n        \"processed_at\": \"2026-11-10T16:07:19+00:00\",\n        \"created_at\": \"2026-11-10T16:07:19+00:00\",\n        \"order_payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"order_total_amount\": \"150.00\",\n        \"payment\": {\n            \"id\": \"01a1c636-bfd9-734f-9300-5ee80dfa2e33\",\n            \"amount\": \"150.00\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"refunded\",\n                \"label\": \"Refunded\"\n            }\n        },\n        \"wallet_transaction\": {\n            \"id\": \"01a1c636-bfeb-7384-a4b5-047e7ba97df2\",\n            \"amount\": \"150.00\",\n            \"balance_after\": \"150.00\",\n            \"created_at\": \"2026-11-10T16:07:19+00:00\"\n        },\n        \"earnings\": {\n            \"reversed\": 1,\n            \"not_reversible\": 0\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "201 Refund Replayed With Same Key",
                                            "_joshen": {
                                                "route": "admin.refunds.store",
                                                "name": "Refund Replayed With Same Key",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": {
                                                        "order_id": "01a1c636-c8e1-704e-b301-1475f31a24d4",
                                                        "amount": "40.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_td_156_the_same_key_and_body_replays_the_first_refund"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"01a1c636-c8e1-704e-b301-1475f31a24d4\",\n    \"amount\": \"40.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Refund credited to the customer wallet.\",\n    \"data\": {\n        \"id\": \"01a1c636-c8fa-7220-881f-ca2ba1aba6b6\",\n        \"order\": {\n            \"id\": \"01a1c636-c8e1-704e-b301-1475f31a24d4\",\n            \"code\": \"JSH-zmjs78092648\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c636-c8e7-7126-b0fe-9f938e625072\",\n            \"user_id\": \"01a1c636-c8e7-7126-b0fe-9f938edfcbab\",\n            \"full_name\": \"Paris Davis Sr.\"\n        },\n        \"amount\": \"40.00\",\n        \"destination\": {\n            \"value\": \"wallet\",\n            \"label\": \"Wallet\"\n        },\n        \"reason\": {\n            \"value\": \"admin\",\n            \"label\": \"Admin refund\"\n        },\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"processed_by\": {\n            \"id\": \"01a1c636-c8dd-70cc-a179-a170ed8c71f0\",\n            \"name\": \"Cleora Collier\"\n        },\n        \"processed_at\": \"2026-11-10T16:07:21+00:00\",\n        \"created_at\": \"2026-11-10T16:07:21+00:00\",\n        \"order_payment_status\": {\n            \"value\": \"partially_refunded\",\n            \"label\": \"Partially refunded\"\n        },\n        \"order_total_amount\": \"150.00\",\n        \"payment\": {\n            \"id\": \"01a1c636-c8ef-7168-8d28-a336addf2b2c\",\n            \"amount\": \"150.00\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"partially_refunded\",\n                \"label\": \"Partially refunded\"\n            }\n        },\n        \"wallet_transaction\": {\n            \"id\": \"01a1c636-c8fc-7240-aedd-626fabe8d850\",\n            \"amount\": \"40.00\",\n            \"balance_after\": \"40.00\",\n            \"created_at\": \"2026-11-10T16:07:21+00:00\"\n        },\n        \"earnings\": {\n            \"reversed\": 0,\n            \"not_reversible\": 0\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"{{order_id}}\",\n    \"amount\": \"50.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"{{order_id}}\",\n    \"amount\": \"50.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"{{order_id}}\",\n    \"amount\": \"50.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Refund Key Reused With Another Body",
                                            "_joshen": {
                                                "route": "admin.refunds.store",
                                                "name": "Refund Key Reused With Another Body",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": {
                                                        "order_id": "01a1c636-cb39-73fb-91b9-3a503f18aff8",
                                                        "amount": "41.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_td_156_the_same_key_with_another_body_is_a_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"01a1c636-cb39-73fb-91b9-3a503f18aff8\",\n    \"amount\": \"41.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Idempotency-Key was already used with a different request.\",\n    \"data\": {\n        \"error_code\": \"IDEMPOTENCY_KEY_REUSED\",\n        \"correlation_id\": \"9ca85d64-1bc6-4074-8ad3-c12e8bb545ab\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Refund Amount Exceeds Remaining",
                                            "_joshen": {
                                                "route": "admin.refunds.store",
                                                "name": "Refund Amount Exceeds Remaining",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": {
                                                        "order_id": "01a1c636-b901-70f5-9bb4-08749063ceb0",
                                                        "amount": "50.01"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_refund_cannot_exceed_what_is_left_and_the_last_part_closes_the_order"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"01a1c636-b901-70f5-9bb4-08749063ceb0\",\n    \"amount\": \"50.01\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The amount is more than what can still be refunded (50.00 SAR).\",\n    \"data\": {\n        \"errors\": {\n            \"amount\": [\n                \"The amount is more than what can still be refunded (50.00 SAR).\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Refund Missing Idempotency Key",
                                            "_joshen": {
                                                "route": "admin.refunds.store",
                                                "name": "Refund Missing Idempotency Key",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": {
                                                        "order_id": "01a1c636-cd6b-72b5-978b-4264e79e17fd",
                                                        "amount": "10.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_td_156_a_refund_needs_an_idempotency_key"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"01a1c636-cd6b-72b5-978b-4264e79e17fd\",\n    \"amount\": \"10.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A valid Idempotency-Key header is required.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"031aee50-f344-4db2-8348-a71757615169\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Refund Nothing Left",
                                            "_joshen": {
                                                "route": "admin.refunds.store",
                                                "name": "Refund Nothing Left",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": {
                                                        "order_id": "01a1c636-b901-70f5-9bb4-08749063ceb0",
                                                        "amount": "1.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_refund_cannot_exceed_what_is_left_and_the_last_part_closes_the_order"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"01a1c636-b901-70f5-9bb4-08749063ceb0\",\n    \"amount\": \"1.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order has no paid money left to refund.\",\n    \"data\": {\n        \"error_code\": \"REFUND_NOT_AVAILABLE\",\n        \"correlation_id\": \"8c4b38f9-bd67-4c86-8037-e854cc675373\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Refund Validation",
                                            "_joshen": {
                                                "route": "admin.refunds.store",
                                                "name": "Refund Validation",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds",
                                                    "query": null,
                                                    "body": {
                                                        "order_id": "not-a-uuid",
                                                        "amount": "0"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_refund_request_is_validated"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{refund_idempotency_key}}",
                                                        "description": "Use one new key for each intended refund and keep it unchanged when retrying the same request (TD-156)."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"order_id\": \"not-a-uuid\",\n    \"amount\": \"0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Order field must be a valid UUID. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"order_id\": [\n                \"The Order field must be a valid UUID.\"\n            ],\n            \"amount\": [\n                \"The Amount field must be greater than 0.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "refund_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "refund_idempotency_key",
                                                "set_by": [],
                                                "how": "Choose a new key for each intended refund; reuse the same key when retrying POST admin/refunds."
                                            },
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"refund_id\",\"Saved by GET /api/v1/admin/refunds, POST /api/v1/admin/refunds, GET /api/v1/admin/refunds/{refund}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"refund_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/refunds/:refund",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "refunds",
                                                ":refund"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "refund",
                                                    "value": "{{refund_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/refunds, POST /api/v1/admin/refunds, GET /api/v1/admin/refunds/{refund}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.refunds.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{refund_id}}` — Saved by GET /api/v1/admin/refunds, POST /api/v1/admin/refunds, GET /api/v1/admin/refunds/{refund}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `refund_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Refund Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-d433-7054-9629-5a39d6a1dd9c\",\n        \"order\": {\n            \"id\": \"01a1c636-d41b-70e0-8ac4-53eb5c4c054b\",\n            \"code\": \"JSH-ypfj52816328\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c636-d420-7235-8d31-22a8b5d0dd89\",\n            \"user_id\": \"01a1c636-d420-7235-8d31-22a8b68bfcf6\",\n            \"full_name\": \"Dr. Gladyce Satterfield\"\n        },\n        \"amount\": \"30.00\",\n        \"destination\": {\n            \"value\": \"wallet\",\n            \"label\": \"Wallet\"\n        },\n        \"reason\": {\n            \"value\": \"admin\",\n            \"label\": \"Admin refund\"\n        },\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"processed_by\": {\n            \"id\": \"01a1c636-d417-7088-9447-3cfa3fd07eab\",\n            \"name\": \"Mckenzie Hane\"\n        },\n        \"processed_at\": \"2026-11-10T16:07:24+00:00\",\n        \"created_at\": \"2026-11-10T16:07:24+00:00\",\n        \"order_payment_status\": {\n            \"value\": \"partially_refunded\",\n            \"label\": \"Partially refunded\"\n        },\n        \"order_total_amount\": \"150.00\",\n        \"payment\": {\n            \"id\": \"01a1c636-d428-723f-b684-e2662013d4e0\",\n            \"amount\": \"150.00\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"partially_refunded\",\n                \"label\": \"Partially refunded\"\n            }\n        },\n        \"wallet_transaction\": {\n            \"id\": \"01a1c636-d436-72a0-a9c5-e01919189aae\",\n            \"amount\": \"30.00\",\n            \"balance_after\": \"30.00\",\n            \"created_at\": \"2026-11-10T16:07:24+00:00\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Refund Details",
                                            "_joshen": {
                                                "route": "admin.refunds.show",
                                                "name": "Refund Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/refunds/01a1c636-d433-7054-9629-5a39d6a1dd9c",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CancellationRefundManagementTest::test_ac_admin_018_refunds_list_and_details"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds/01a1c636-d433-7054-9629-5a39d6a1dd9c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds",
                                                        "01a1c636-d433-7054-9629-5a39d6a1dd9c"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c636-d433-7054-9629-5a39d6a1dd9c\",\n        \"order\": {\n            \"id\": \"01a1c636-d41b-70e0-8ac4-53eb5c4c054b\",\n            \"code\": \"JSH-ypfj52816328\"\n        },\n        \"customer\": {\n            \"id\": \"01a1c636-d420-7235-8d31-22a8b5d0dd89\",\n            \"user_id\": \"01a1c636-d420-7235-8d31-22a8b68bfcf6\",\n            \"full_name\": \"Dr. Gladyce Satterfield\"\n        },\n        \"amount\": \"30.00\",\n        \"destination\": {\n            \"value\": \"wallet\",\n            \"label\": \"Wallet\"\n        },\n        \"reason\": {\n            \"value\": \"admin\",\n            \"label\": \"Admin refund\"\n        },\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"processed_by\": {\n            \"id\": \"01a1c636-d417-7088-9447-3cfa3fd07eab\",\n            \"name\": \"Mckenzie Hane\"\n        },\n        \"processed_at\": \"2026-11-10T16:07:24+00:00\",\n        \"created_at\": \"2026-11-10T16:07:24+00:00\",\n        \"order_payment_status\": {\n            \"value\": \"partially_refunded\",\n            \"label\": \"Partially refunded\"\n        },\n        \"order_total_amount\": \"150.00\",\n        \"payment\": {\n            \"id\": \"01a1c636-d428-723f-b684-e2662013d4e0\",\n            \"amount\": \"150.00\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"partially_refunded\",\n                \"label\": \"Partially refunded\"\n            }\n        },\n        \"wallet_transaction\": {\n            \"id\": \"01a1c636-d436-72a0-a9c5-e01919189aae\",\n            \"amount\": \"30.00\",\n            \"balance_after\": \"30.00\",\n            \"created_at\": \"2026-11-10T16:07:24+00:00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds/:refund",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds",
                                                        ":refund"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "refund",
                                                            "value": "{{refund_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/refunds, POST /api/v1/admin/refunds, GET /api/v1/admin/refunds/{refund}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds/:refund",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds",
                                                        ":refund"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "refund",
                                                            "value": "{{refund_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/refunds, POST /api/v1/admin/refunds, GET /api/v1/admin/refunds/{refund}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/refunds/:refund",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "refunds",
                                                        ":refund"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "refund",
                                                            "value": "{{refund_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/refunds, POST /api/v1/admin/refunds, GET /api/v1/admin/refunds/{refund}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "refund_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "refund_id",
                                                "set_by": [
                                                    "admin.refunds.index",
                                                    "admin.refunds.store",
                                                    "admin.refunds.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/refunds, POST /api/v1/admin/refunds, GET /api/v1/admin/refunds/{refund}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Payout balances",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payout-balances?filters[role]=provider",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payout-balances"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Noura",
                                                    "description": "Partial match on the beneficiary name or phone. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[role]",
                                                    "value": "provider",
                                                    "description": "Required. `provider` or `driver`: the two sets of balances are kept separate. — `string (enum)`, one of: `provider`, `driver`",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "sort[available]",
                                                    "value": "desc",
                                                    "description": "Order by the amount she can request now; default is the largest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[in_payout]",
                                                    "value": "desc",
                                                    "description": "Order by the amount already claimed by an open request. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[paid]",
                                                    "value": "desc",
                                                    "description": "Order by the amount already transferred. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[net_total]",
                                                    "value": "desc",
                                                    "description": "Order by the total after commission. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[gross_total]",
                                                    "value": "desc",
                                                    "description": "Order by the total before commission. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payout-balances.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `search` — Partial match on the beneficiary name or phone. — `string` (optional)\n- `filters[role]` — Required. `provider` or `driver`: the two sets of balances are kept separate. — `string (enum)`, one of: `provider`, `driver` (required)\n- `sort[available]` — Order by the amount she can request now; default is the largest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[in_payout]` — Order by the amount already claimed by an open request. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[paid]` — Order by the amount already transferred. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[net_total]` — Order by the total after commission. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[gross_total]` — Order by the total before commission. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Payout Balances Providers\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Payout Balances Role Required\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"balances\": [\n            {\n                \"beneficiary\": {\n                    \"id\": \"01a1ba26-167f-70f4-ba16-4d2a49113d12\",\n                    \"role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"full_name\": \"Elisabeth Pfannerstill\",\n                    \"phone\": \"501484678\"\n                },\n                \"balances\": {\n                    \"pending\": \"10.00\",\n                    \"available\": \"80.00\",\n                    \"in_payout\": \"45.00\",\n                    \"paid\": \"30.00\"\n                },\n                \"totals\": {\n                    \"gross_amount\": \"190.00\",\n                    \"commission_amount\": \"25.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"165.00\"\n                }\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payout-balances?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payout-balances?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payout-balances?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payout-balances\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payout Balances Providers",
                                            "_joshen": {
                                                "route": "admin.payout-balances.index",
                                                "name": "Payout Balances Providers",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payout-balances",
                                                    "query": {
                                                        "filters": {
                                                            "role": "provider"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_balances_split_by_status_and_show_totals_before_and_after_commission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payout-balances?filters[role]=provider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payout-balances"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "provider"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"balances\": [\n            {\n                \"beneficiary\": {\n                    \"id\": \"01a1ba26-167f-70f4-ba16-4d2a49113d12\",\n                    \"role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"full_name\": \"Elisabeth Pfannerstill\",\n                    \"phone\": \"501484678\"\n                },\n                \"balances\": {\n                    \"pending\": \"10.00\",\n                    \"available\": \"80.00\",\n                    \"in_payout\": \"45.00\",\n                    \"paid\": \"30.00\"\n                },\n                \"totals\": {\n                    \"gross_amount\": \"190.00\",\n                    \"commission_amount\": \"25.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"165.00\"\n                }\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payout-balances?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payout-balances?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payout-balances?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payout-balances\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payout-balances?filters[role]=provider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payout-balances"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noura",
                                                            "description": "Partial match on the beneficiary name or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "provider",
                                                            "description": "Required. `provider` or `driver`: the two sets of balances are kept separate. — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "sort[available]",
                                                            "value": "desc",
                                                            "description": "Order by the amount she can request now; default is the largest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[in_payout]",
                                                            "value": "desc",
                                                            "description": "Order by the amount already claimed by an open request. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid]",
                                                            "value": "desc",
                                                            "description": "Order by the amount already transferred. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[net_total]",
                                                            "value": "desc",
                                                            "description": "Order by the total after commission. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[gross_total]",
                                                            "value": "desc",
                                                            "description": "Order by the total before commission. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payout-balances?filters[role]=provider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payout-balances"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noura",
                                                            "description": "Partial match on the beneficiary name or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "provider",
                                                            "description": "Required. `provider` or `driver`: the two sets of balances are kept separate. — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "sort[available]",
                                                            "value": "desc",
                                                            "description": "Order by the amount she can request now; default is the largest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[in_payout]",
                                                            "value": "desc",
                                                            "description": "Order by the amount already claimed by an open request. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid]",
                                                            "value": "desc",
                                                            "description": "Order by the amount already transferred. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[net_total]",
                                                            "value": "desc",
                                                            "description": "Order by the total after commission. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[gross_total]",
                                                            "value": "desc",
                                                            "description": "Order by the total before commission. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payout-balances?filters[role]=provider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payout-balances"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noura",
                                                            "description": "Partial match on the beneficiary name or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "provider",
                                                            "description": "Required. `provider` or `driver`: the two sets of balances are kept separate. — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "sort[available]",
                                                            "value": "desc",
                                                            "description": "Order by the amount she can request now; default is the largest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[in_payout]",
                                                            "value": "desc",
                                                            "description": "Order by the amount already claimed by an open request. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid]",
                                                            "value": "desc",
                                                            "description": "Order by the amount already transferred. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[net_total]",
                                                            "value": "desc",
                                                            "description": "Order by the total after commission. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[gross_total]",
                                                            "value": "desc",
                                                            "description": "Order by the total before commission. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payout Balances Role Required",
                                            "_joshen": {
                                                "route": "admin.payout-balances.index",
                                                "name": "Payout Balances Role Required",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payout-balances",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_balances_split_by_status_and_show_totals_before_and_after_commission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payout-balances",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payout-balances"
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"filters\": [\n                \"The filters field is required.\"\n            ],\n            \"filters.role\": [\n                \"The filters.role field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Payouts",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"driver_id\",\"Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"payout_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payouts",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payouts"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Noura",
                                                    "description": "Partial match on the beneficiary name or phone, or the bank reference. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[role]",
                                                    "value": "provider",
                                                    "description": "Beneficiary kind: `provider` or `driver`. Providers and drivers are separate (ADMIN-017). — `string (enum)`, one of: `provider`, `driver`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "requested",
                                                    "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`) — all requests of one provider. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[driver_id]",
                                                    "value": "{{driver_id}}",
                                                    "description": "Driver profile uuid (`drivers`) — all requests of one driver. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[requested_from]",
                                                    "value": "2026-11-01",
                                                    "description": "Earliest request date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[requested_to]",
                                                    "value": "2026-11-30",
                                                    "description": "Latest request date, `YYYY-MM-DD`, not before `requested_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[requested_at]",
                                                    "value": "desc",
                                                    "description": "Order by request time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[amount]",
                                                    "value": "desc",
                                                    "description": "Order by the requested amount. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[paid_at]",
                                                    "value": "desc",
                                                    "description": "Order by transfer time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payouts.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the beneficiary name or phone, or the bank reference. — `string` (optional)\n- `filters[role]` — Beneficiary kind: `provider` or `driver`. Providers and drivers are separate (ADMIN-017). — `string (enum)`, one of: `provider`, `driver` (optional)\n- `filters[status]` — Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled` (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`) — all requests of one provider. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[driver_id]` — Driver profile uuid (`drivers`) — all requests of one driver. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19) (optional)\n- `filters[requested_from]` — Earliest request date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[requested_to]` — Latest request date, `YYYY-MM-DD`, not before `requested_from`. — `string (date)` (optional)\n- `sort[requested_at]` — Order by request time; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[amount]` — Order by the requested amount. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[paid_at]` — Order by transfer time. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{driver_id}}` — Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `payout_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Payouts List\n- `200` Payouts List Providers Only\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Payouts List Invalid Role\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"payouts\": [\n            {\n                \"id\": \"01a1ba25-ff64-7255-9ba8-cf9f1325ad0f\",\n                \"beneficiary\": {\n                    \"id\": \"01a1ba25-ff44-725d-817f-8155619e95f3\",\n                    \"role\": {\n                        \"value\": \"driver\",\n                        \"label\": \"Driver\"\n                    },\n                    \"full_name\": \"Tiffany Hessel DDS\",\n                    \"phone\": \"513730703\"\n                },\n                \"amount\": \"30.00\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"earnings_count\": 1,\n                \"account_status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"bank_reference\": null,\n                \"requested_at\": \"2026-11-08T07:53:34+00:00\",\n                \"paid_at\": null,\n                \"processed_by\": null\n            },\n            {\n                \"id\": \"01a1ba25-ff3d-7262-a692-92402d1aeaac\",\n                \"beneficiary\": {\n                    \"id\": \"01a1ba25-ff06-70de-80c0-03d629b6deec\",\n                    \"role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"full_name\": \"Lelah Ward\",\n                    \"phone\": \"548797247\"\n                },\n                \"amount\": \"200.00\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"earnings_count\": 2,\n                \"account_status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"bank_reference\": null,\n                \"requested_at\": \"2026-11-08T07:53:34+00:00\",\n                \"paid_at\": null,\n                \"processed_by\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payouts?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payouts?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payouts?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payouts\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payouts List",
                                            "_joshen": {
                                                "route": "admin.payouts.index",
                                                "name": "Payouts List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_list_filters_by_role_status_beneficiary_and_date_and_keeps_roles_separate"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"payouts\": [\n            {\n                \"id\": \"01a1ba25-ff64-7255-9ba8-cf9f1325ad0f\",\n                \"beneficiary\": {\n                    \"id\": \"01a1ba25-ff44-725d-817f-8155619e95f3\",\n                    \"role\": {\n                        \"value\": \"driver\",\n                        \"label\": \"Driver\"\n                    },\n                    \"full_name\": \"Tiffany Hessel DDS\",\n                    \"phone\": \"513730703\"\n                },\n                \"amount\": \"30.00\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"earnings_count\": 1,\n                \"account_status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"bank_reference\": null,\n                \"requested_at\": \"2026-11-08T07:53:34+00:00\",\n                \"paid_at\": null,\n                \"processed_by\": null\n            },\n            {\n                \"id\": \"01a1ba25-ff3d-7262-a692-92402d1aeaac\",\n                \"beneficiary\": {\n                    \"id\": \"01a1ba25-ff06-70de-80c0-03d629b6deec\",\n                    \"role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"full_name\": \"Lelah Ward\",\n                    \"phone\": \"548797247\"\n                },\n                \"amount\": \"200.00\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"earnings_count\": 2,\n                \"account_status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"bank_reference\": null,\n                \"requested_at\": \"2026-11-08T07:53:34+00:00\",\n                \"paid_at\": null,\n                \"processed_by\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payouts?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payouts?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payouts?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payouts\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Payouts List Providers Only",
                                            "_joshen": {
                                                "route": "admin.payouts.index",
                                                "name": "Payouts List Providers Only",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts",
                                                    "query": {
                                                        "filters": {
                                                            "role": "provider"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_list_filters_by_role_status_beneficiary_and_date_and_keeps_roles_separate"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts?filters[role]=provider",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "provider"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"payouts\": [\n            {\n                \"id\": \"01a1ba25-ff3d-7262-a692-92402d1aeaac\",\n                \"beneficiary\": {\n                    \"id\": \"01a1ba25-ff06-70de-80c0-03d629b6deec\",\n                    \"role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"full_name\": \"Lelah Ward\",\n                    \"phone\": \"548797247\"\n                },\n                \"amount\": \"200.00\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"earnings_count\": 2,\n                \"account_status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"bank_reference\": null,\n                \"requested_at\": \"2026-11-08T07:53:34+00:00\",\n                \"paid_at\": null,\n                \"processed_by\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/payouts?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/payouts?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/payouts?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/payouts\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noura",
                                                            "description": "Partial match on the beneficiary name or phone, or the bank reference. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "provider",
                                                            "description": "Beneficiary kind: `provider` or `driver`. Providers and drivers are separate (ADMIN-017). — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "requested",
                                                            "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) — all requests of one provider. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[driver_id]",
                                                            "value": "{{driver_id}}",
                                                            "description": "Driver profile uuid (`drivers`) — all requests of one driver. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[requested_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest request date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[requested_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest request date, `YYYY-MM-DD`, not before `requested_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[requested_at]",
                                                            "value": "desc",
                                                            "description": "Order by request time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the requested amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid_at]",
                                                            "value": "desc",
                                                            "description": "Order by transfer time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noura",
                                                            "description": "Partial match on the beneficiary name or phone, or the bank reference. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "provider",
                                                            "description": "Beneficiary kind: `provider` or `driver`. Providers and drivers are separate (ADMIN-017). — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "requested",
                                                            "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) — all requests of one provider. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[driver_id]",
                                                            "value": "{{driver_id}}",
                                                            "description": "Driver profile uuid (`drivers`) — all requests of one driver. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[requested_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest request date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[requested_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest request date, `YYYY-MM-DD`, not before `requested_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[requested_at]",
                                                            "value": "desc",
                                                            "description": "Order by request time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the requested amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid_at]",
                                                            "value": "desc",
                                                            "description": "Order by transfer time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noura",
                                                            "description": "Partial match on the beneficiary name or phone, or the bank reference. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "provider",
                                                            "description": "Beneficiary kind: `provider` or `driver`. Providers and drivers are separate (ADMIN-017). — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "requested",
                                                            "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`) — all requests of one provider. — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[driver_id]",
                                                            "value": "{{driver_id}}",
                                                            "description": "Driver profile uuid (`drivers`) — all requests of one driver. — `string (uuid)`, a `drivers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[requested_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest request date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[requested_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest request date, `YYYY-MM-DD`, not before `requested_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[requested_at]",
                                                            "value": "desc",
                                                            "description": "Order by request time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "desc",
                                                            "description": "Order by the requested amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[paid_at]",
                                                            "value": "desc",
                                                            "description": "Order by transfer time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payouts List Invalid Role",
                                            "_joshen": {
                                                "route": "admin.payouts.index",
                                                "name": "Payouts List Invalid Role",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts",
                                                    "query": {
                                                        "filters": {
                                                            "role": "customer"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_list_filters_by_role_status_beneficiary_and_date_and_keeps_roles_separate"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts?filters[role]=customer",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "customer"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.role is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.role\": [\n                \"The selected filters.role is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "payout_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "driver_id",
                                                "set_by": [
                                                    "admin.drivers.index",
                                                    "admin.drivers.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/drivers, GET /api/v1/admin/drivers/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"payout_id\",\"Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"payout_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payouts/:payout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payouts",
                                                ":payout"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "payout",
                                                    "value": "{{payout_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payouts.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{payout_id}}` — Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `payout_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Payout Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba26-01e7-7270-8661-ba8338a6701d\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-01c0-72fa-b8a8-f861d5b4fa0c\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Abbigail Wuckert\",\n            \"phone\": \"535298228\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"requested\",\n            \"label\": \"Requested\"\n        },\n        \"earnings_count\": 2,\n        \"account_status\": {\n            \"value\": \"pending\",\n            \"label\": \"Pending\"\n        },\n        \"bank_reference\": null,\n        \"requested_at\": \"2026-11-08T07:53:35+00:00\",\n        \"paid_at\": null,\n        \"processed_by\": null,\n        \"allowed_statuses\": [\n            {\n                \"value\": \"processing\",\n                \"label\": \"Processing\"\n            },\n            {\n                \"value\": \"paid\",\n                \"label\": \"Transferred\"\n            },\n            {\n                \"value\": \"cancelled\",\n                \"label\": \"Rejected\"\n            }\n        ],\n        \"note\": null,\n        \"payout_account\": {\n            \"id\": \"01a1ba26-01c4-7326-9230-b2270ae67c0e\",\n            \"holder_name\": \"xzzxawiqmazi\",\n            \"bank_name\": \"zbnqfgyrmmek\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-08T07:53:35+00:00\",\n            \"verified_at\": null,\n            \"verified_by\": null\n        },\n        \"totals\": {\n            \"gross_amount\": \"250.00\",\n            \"commission_amount\": \"50.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"200.00\"\n        },\n        \"earnings\": [\n            {\n                \"id\": \"01a1ba26-01d0-7152-83ff-322cea382dcf\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-01c5-734c-849c-b4664d83c29c\",\n                    \"code\": \"JSH-wsaj68243435\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"100.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"20.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"80.00\",\n                \"status\": {\n                    \"value\": \"in_payout\",\n                    \"label\": \"Awaiting transfer\"\n                }\n            },\n            {\n                \"id\": \"01a1ba26-01da-7015-88dc-ebadf7ef49e5\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-01d2-736a-8d59-876fbf70c271\",\n                    \"code\": \"JSH-krgu33316748\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"150.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"30.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"120.00\",\n                \"status\": {\n                    \"value\": \"in_payout\",\n                    \"label\": \"Awaiting transfer\"\n                }\n            }\n        ],\n        \"created_at\": \"2026-11-08T07:53:35+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payout Details",
                                            "_joshen": {
                                                "route": "admin.payouts.show",
                                                "name": "Payout Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-01e7-7270-8661-ba8338a6701d",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_details_show_beneficiary_masked_account_every_earning_and_the_allowed_moves"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-01e7-7270-8661-ba8338a6701d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-01e7-7270-8661-ba8338a6701d"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1ba26-01e7-7270-8661-ba8338a6701d\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-01c0-72fa-b8a8-f861d5b4fa0c\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Abbigail Wuckert\",\n            \"phone\": \"535298228\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"requested\",\n            \"label\": \"Requested\"\n        },\n        \"earnings_count\": 2,\n        \"account_status\": {\n            \"value\": \"pending\",\n            \"label\": \"Pending\"\n        },\n        \"bank_reference\": null,\n        \"requested_at\": \"2026-11-08T07:53:35+00:00\",\n        \"paid_at\": null,\n        \"processed_by\": null,\n        \"allowed_statuses\": [\n            {\n                \"value\": \"processing\",\n                \"label\": \"Processing\"\n            },\n            {\n                \"value\": \"paid\",\n                \"label\": \"Transferred\"\n            },\n            {\n                \"value\": \"cancelled\",\n                \"label\": \"Rejected\"\n            }\n        ],\n        \"note\": null,\n        \"payout_account\": {\n            \"id\": \"01a1ba26-01c4-7326-9230-b2270ae67c0e\",\n            \"holder_name\": \"xzzxawiqmazi\",\n            \"bank_name\": \"zbnqfgyrmmek\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-08T07:53:35+00:00\",\n            \"verified_at\": null,\n            \"verified_by\": null\n        },\n        \"totals\": {\n            \"gross_amount\": \"250.00\",\n            \"commission_amount\": \"50.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"200.00\"\n        },\n        \"earnings\": [\n            {\n                \"id\": \"01a1ba26-01d0-7152-83ff-322cea382dcf\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-01c5-734c-849c-b4664d83c29c\",\n                    \"code\": \"JSH-wsaj68243435\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"100.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"20.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"80.00\",\n                \"status\": {\n                    \"value\": \"in_payout\",\n                    \"label\": \"Awaiting transfer\"\n                }\n            },\n            {\n                \"id\": \"01a1ba26-01da-7015-88dc-ebadf7ef49e5\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-01d2-736a-8d59-876fbf70c271\",\n                    \"code\": \"JSH-krgu33316748\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"150.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"30.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"120.00\",\n                \"status\": {\n                    \"value\": \"in_payout\",\n                    \"label\": \"Awaiting transfer\"\n                }\n            }\n        ],\n        \"created_at\": \"2026-11-08T07:53:35+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "payout_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "payout_id",
                                                "set_by": [
                                                    "admin.payouts.index",
                                                    "admin.payouts.show",
                                                    "provider.payouts.index",
                                                    "provider.payouts.store",
                                                    "delivery.payouts.index",
                                                    "delivery.payouts.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Bank Account",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"payout_id\",\"Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payouts/:payout/bank-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payouts",
                                                ":payout",
                                                "bank-account"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "payout",
                                                    "value": "{{payout_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payouts.bank-account`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{payout_id}}` — Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Payout Bank Account\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Payout Bank Account Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"payout_id\": \"01a1ba26-0422-7381-b154-ee2be4dce042\",\n        \"id\": \"01a1ba26-03fc-7085-889a-1dc87ea54f69\",\n        \"holder_name\": \"flbvsrksqgic\",\n        \"bank_name\": \"icyxwpcrbzxq\",\n        \"iban\": \"SA0380000000608010167519\",\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Pending\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payout Bank Account",
                                            "_joshen": {
                                                "route": "admin.payouts.bank-account",
                                                "name": "Payout Bank Account",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-0422-7381-b154-ee2be4dce042/bank-account",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_the_full_iban_is_an_audited_read_under_the_approve_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-0422-7381-b154-ee2be4dce042/bank-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-0422-7381-b154-ee2be4dce042",
                                                        "bank-account"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"payout_id\": \"01a1ba26-0422-7381-b154-ee2be4dce042\",\n        \"id\": \"01a1ba26-03fc-7085-889a-1dc87ea54f69\",\n        \"holder_name\": \"flbvsrksqgic\",\n        \"bank_name\": \"icyxwpcrbzxq\",\n        \"iban\": \"SA0380000000608010167519\",\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Pending\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/bank-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "bank-account"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Payout Bank Account Forbidden",
                                            "_joshen": {
                                                "route": "admin.payouts.bank-account",
                                                "name": "Payout Bank Account Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-0422-7381-b154-ee2be4dce042/bank-account",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_the_full_iban_is_an_audited_read_under_the_approve_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-0422-7381-b154-ee2be4dce042/bank-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-0422-7381-b154-ee2be4dce042",
                                                        "bank-account"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.payouts.bank-account\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/bank-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "bank-account"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/bank-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "bank-account"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "payout_id",
                                                "set_by": [
                                                    "admin.payouts.index",
                                                    "admin.payouts.show",
                                                    "provider.payouts.index",
                                                    "provider.payouts.store",
                                                    "delivery.payouts.index",
                                                    "delivery.payouts.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Processing",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"payout_id\",\"Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payouts/:payout/processing",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payouts",
                                                ":payout",
                                                "processing"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "payout",
                                                    "value": "{{payout_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payouts.processing`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `note`\n- **Description:** Optional internal remark kept on the request.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Checking the IBAN with the bank.`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{payout_id}}` — Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Payout Processing\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Payout Processing Note Too Long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Request marked as processing.\",\n    \"data\": {\n        \"id\": \"01a1ba26-06b9-73d9-9798-7153be1fcf9a\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-0688-724f-82d6-174a904c4527\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Ivy Anderson IV\",\n            \"phone\": \"596946997\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"processing\",\n            \"label\": \"Processing\"\n        },\n        \"earnings_count\": 2,\n        \"account_status\": {\n            \"value\": \"pending\",\n            \"label\": \"Pending\"\n        },\n        \"bank_reference\": null,\n        \"requested_at\": \"2026-11-08T07:53:36+00:00\",\n        \"paid_at\": null,\n        \"processed_by\": {\n            \"id\": \"01a1ba26-0684-733b-8c97-596a3858ec4d\",\n            \"name\": \"Maggie Runolfsson IV\"\n        },\n        \"allowed_statuses\": [\n            {\n                \"value\": \"paid\",\n                \"label\": \"Transferred\"\n            },\n            {\n                \"value\": \"cancelled\",\n                \"label\": \"Rejected\"\n            },\n            {\n                \"value\": \"failed\",\n                \"label\": \"Failed\"\n            }\n        ],\n        \"note\": \"Checking IBAN\",\n        \"payout_account\": {\n            \"id\": \"01a1ba26-068c-7072-892f-a1943ee317f1\",\n            \"holder_name\": \"xybiueslrzoa\",\n            \"bank_name\": \"pbabqynvaezp\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-08T07:53:36+00:00\",\n            \"verified_at\": null,\n            \"verified_by\": null\n        },\n        \"totals\": {\n            \"gross_amount\": \"250.00\",\n            \"commission_amount\": \"50.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"200.00\"\n        },\n        \"earnings\": [\n            {\n                \"id\": \"01a1ba26-069a-72f9-b377-61dbb097186f\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-068d-704e-808e-214c22727bc9\",\n                    \"code\": \"JSH-ezpc58711221\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"100.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"20.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"80.00\",\n                \"status\": {\n                    \"value\": \"in_payout\",\n                    \"label\": \"Awaiting transfer\"\n                }\n            },\n            {\n                \"id\": \"01a1ba26-06a5-71d5-a93d-2c7d43f7de6e\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-069b-70d6-967f-05e2e8763735\",\n                    \"code\": \"JSH-fydh60698400\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"150.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"30.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"120.00\",\n                \"status\": {\n                    \"value\": \"in_payout\",\n                    \"label\": \"Awaiting transfer\"\n                }\n            }\n        ],\n        \"created_at\": \"2026-11-08T07:53:36+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"Checking the IBAN with the bank.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payout Processing",
                                            "_joshen": {
                                                "route": "admin.payouts.processing",
                                                "name": "Payout Processing",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-06b9-73d9-9798-7153be1fcf9a/processing",
                                                    "query": null,
                                                    "body": {
                                                        "note": "Checking IBAN"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_processing_then_paid_records_the_transfer_and_verifies_the_account"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-06b9-73d9-9798-7153be1fcf9a/processing",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-06b9-73d9-9798-7153be1fcf9a",
                                                        "processing"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Checking IBAN\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Request marked as processing.\",\n    \"data\": {\n        \"id\": \"01a1ba26-06b9-73d9-9798-7153be1fcf9a\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-0688-724f-82d6-174a904c4527\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Ivy Anderson IV\",\n            \"phone\": \"596946997\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"processing\",\n            \"label\": \"Processing\"\n        },\n        \"earnings_count\": 2,\n        \"account_status\": {\n            \"value\": \"pending\",\n            \"label\": \"Pending\"\n        },\n        \"bank_reference\": null,\n        \"requested_at\": \"2026-11-08T07:53:36+00:00\",\n        \"paid_at\": null,\n        \"processed_by\": {\n            \"id\": \"01a1ba26-0684-733b-8c97-596a3858ec4d\",\n            \"name\": \"Maggie Runolfsson IV\"\n        },\n        \"allowed_statuses\": [\n            {\n                \"value\": \"paid\",\n                \"label\": \"Transferred\"\n            },\n            {\n                \"value\": \"cancelled\",\n                \"label\": \"Rejected\"\n            },\n            {\n                \"value\": \"failed\",\n                \"label\": \"Failed\"\n            }\n        ],\n        \"note\": \"Checking IBAN\",\n        \"payout_account\": {\n            \"id\": \"01a1ba26-068c-7072-892f-a1943ee317f1\",\n            \"holder_name\": \"xybiueslrzoa\",\n            \"bank_name\": \"pbabqynvaezp\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-08T07:53:36+00:00\",\n            \"verified_at\": null,\n            \"verified_by\": null\n        },\n        \"totals\": {\n            \"gross_amount\": \"250.00\",\n            \"commission_amount\": \"50.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"200.00\"\n        },\n        \"earnings\": [\n            {\n                \"id\": \"01a1ba26-069a-72f9-b377-61dbb097186f\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-068d-704e-808e-214c22727bc9\",\n                    \"code\": \"JSH-ezpc58711221\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"100.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"20.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"80.00\",\n                \"status\": {\n                    \"value\": \"in_payout\",\n                    \"label\": \"Awaiting transfer\"\n                }\n            },\n            {\n                \"id\": \"01a1ba26-06a5-71d5-a93d-2c7d43f7de6e\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-069b-70d6-967f-05e2e8763735\",\n                    \"code\": \"JSH-fydh60698400\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"150.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"30.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"120.00\",\n                \"status\": {\n                    \"value\": \"in_payout\",\n                    \"label\": \"Awaiting transfer\"\n                }\n            }\n        ],\n        \"created_at\": \"2026-11-08T07:53:36+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/processing",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "processing"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Checking the IBAN with the bank.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/processing",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "processing"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Checking the IBAN with the bank.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/processing",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "processing"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Checking the IBAN with the bank.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payout Processing Note Too Long",
                                            "_joshen": {
                                                "route": "admin.payouts.processing",
                                                "name": "Payout Processing Note Too Long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-06b9-73d9-9798-7153be1fcf9a/processing",
                                                    "query": null,
                                                    "body": {
                                                        "note": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_processing_then_paid_records_the_transfer_and_verifies_the_account"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-06b9-73d9-9798-7153be1fcf9a/processing",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-06b9-73d9-9798-7153be1fcf9a",
                                                        "processing"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The note field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"note\": [\n                \"The note field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "payout_id",
                                                "set_by": [
                                                    "admin.payouts.index",
                                                    "admin.payouts.show",
                                                    "provider.payouts.index",
                                                    "provider.payouts.store",
                                                    "delivery.payouts.index",
                                                    "delivery.payouts.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Paid",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"payout_id\",\"Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payouts/:payout/paid",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payouts",
                                                ":payout",
                                                "paid"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "payout",
                                                    "value": "{{payout_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payouts.paid`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `bank_reference`\n- **Description:** Reference of the manual bank transfer (the proof the admin keeps), made outside the system to the saved IBAN.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `TRX-20261102-0042`\n- **Validation rules:** `required|string|max:100`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `note`\n- **Description:** Optional remark shown to the beneficiary.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Sent from the main account.`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{payout_id}}` — Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Payout Paid\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Payout Paid Twice — `error_code: INVALID_STATE_TRANSITION`\n- `422` Payout Paid Reference Missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Transfer recorded.\",\n    \"data\": {\n        \"id\": \"01a1ba26-06b9-73d9-9798-7153be1fcf9a\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-0688-724f-82d6-174a904c4527\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Ivy Anderson IV\",\n            \"phone\": \"596946997\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"paid\",\n            \"label\": \"Transferred\"\n        },\n        \"earnings_count\": 2,\n        \"account_status\": {\n            \"value\": \"verified\",\n            \"label\": \"Verified\"\n        },\n        \"bank_reference\": \"TRX-0042\",\n        \"requested_at\": \"2026-11-08T07:53:36+00:00\",\n        \"paid_at\": \"2026-11-08T07:53:36+00:00\",\n        \"processed_by\": {\n            \"id\": \"01a1ba26-0684-733b-8c97-596a3858ec4d\",\n            \"name\": \"Maggie Runolfsson IV\"\n        },\n        \"allowed_statuses\": [\n            {\n                \"value\": \"failed\",\n                \"label\": \"Failed\"\n            }\n        ],\n        \"note\": \"Main account\",\n        \"payout_account\": {\n            \"id\": \"01a1ba26-068c-7072-892f-a1943ee317f1\",\n            \"holder_name\": \"xybiueslrzoa\",\n            \"bank_name\": \"pbabqynvaezp\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"verified\",\n                \"label\": \"Verified\"\n            },\n            \"created_at\": \"2026-11-08T07:53:36+00:00\",\n            \"verified_at\": \"2026-11-08T07:53:36+00:00\",\n            \"verified_by\": {\n                \"id\": \"01a1ba26-0684-733b-8c97-596a3858ec4d\",\n                \"name\": \"Maggie Runolfsson IV\"\n            }\n        },\n        \"totals\": {\n            \"gross_amount\": \"250.00\",\n            \"commission_amount\": \"50.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"200.00\"\n        },\n        \"earnings\": [\n            {\n                \"id\": \"01a1ba26-069a-72f9-b377-61dbb097186f\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-068d-704e-808e-214c22727bc9\",\n                    \"code\": \"JSH-ezpc58711221\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"100.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"20.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"80.00\",\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Transferred\"\n                }\n            },\n            {\n                \"id\": \"01a1ba26-06a5-71d5-a93d-2c7d43f7de6e\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-069b-70d6-967f-05e2e8763735\",\n                    \"code\": \"JSH-fydh60698400\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"150.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"30.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"120.00\",\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Transferred\"\n                }\n            }\n        ],\n        \"created_at\": \"2026-11-08T07:53:36+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"bank_reference\": \"TRX-20261102-0042\",\n    \"note\": \"Sent from the main account.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payout Paid",
                                            "_joshen": {
                                                "route": "admin.payouts.paid",
                                                "name": "Payout Paid",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-06b9-73d9-9798-7153be1fcf9a/paid",
                                                    "query": null,
                                                    "body": {
                                                        "bank_reference": "TRX-0042",
                                                        "note": "Main account"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_processing_then_paid_records_the_transfer_and_verifies_the_account"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-06b9-73d9-9798-7153be1fcf9a/paid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-06b9-73d9-9798-7153be1fcf9a",
                                                        "paid"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bank_reference\": \"TRX-0042\",\n    \"note\": \"Main account\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Transfer recorded.\",\n    \"data\": {\n        \"id\": \"01a1ba26-06b9-73d9-9798-7153be1fcf9a\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-0688-724f-82d6-174a904c4527\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Ivy Anderson IV\",\n            \"phone\": \"596946997\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"paid\",\n            \"label\": \"Transferred\"\n        },\n        \"earnings_count\": 2,\n        \"account_status\": {\n            \"value\": \"verified\",\n            \"label\": \"Verified\"\n        },\n        \"bank_reference\": \"TRX-0042\",\n        \"requested_at\": \"2026-11-08T07:53:36+00:00\",\n        \"paid_at\": \"2026-11-08T07:53:36+00:00\",\n        \"processed_by\": {\n            \"id\": \"01a1ba26-0684-733b-8c97-596a3858ec4d\",\n            \"name\": \"Maggie Runolfsson IV\"\n        },\n        \"allowed_statuses\": [\n            {\n                \"value\": \"failed\",\n                \"label\": \"Failed\"\n            }\n        ],\n        \"note\": \"Main account\",\n        \"payout_account\": {\n            \"id\": \"01a1ba26-068c-7072-892f-a1943ee317f1\",\n            \"holder_name\": \"xybiueslrzoa\",\n            \"bank_name\": \"pbabqynvaezp\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"verified\",\n                \"label\": \"Verified\"\n            },\n            \"created_at\": \"2026-11-08T07:53:36+00:00\",\n            \"verified_at\": \"2026-11-08T07:53:36+00:00\",\n            \"verified_by\": {\n                \"id\": \"01a1ba26-0684-733b-8c97-596a3858ec4d\",\n                \"name\": \"Maggie Runolfsson IV\"\n            }\n        },\n        \"totals\": {\n            \"gross_amount\": \"250.00\",\n            \"commission_amount\": \"50.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"200.00\"\n        },\n        \"earnings\": [\n            {\n                \"id\": \"01a1ba26-069a-72f9-b377-61dbb097186f\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-068d-704e-808e-214c22727bc9\",\n                    \"code\": \"JSH-ezpc58711221\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"100.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"20.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"80.00\",\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Transferred\"\n                }\n            },\n            {\n                \"id\": \"01a1ba26-06a5-71d5-a93d-2c7d43f7de6e\",\n                \"source_type\": {\n                    \"value\": \"order\",\n                    \"label\": \"Service\"\n                },\n                \"order\": {\n                    \"id\": \"01a1ba26-069b-70d6-967f-05e2e8763735\",\n                    \"code\": \"JSH-fydh60698400\"\n                },\n                \"trip\": null,\n                \"subscription_id\": null,\n                \"gross_amount\": \"150.00\",\n                \"commission_rate\": \"0.00\",\n                \"commission_amount\": \"30.00\",\n                \"delivery_fee_amount\": \"0.00\",\n                \"net_amount\": \"120.00\",\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Transferred\"\n                }\n            }\n        ],\n        \"created_at\": \"2026-11-08T07:53:36+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/paid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "paid"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bank_reference\": \"TRX-20261102-0042\",\n    \"note\": \"Sent from the main account.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/paid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "paid"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bank_reference\": \"TRX-20261102-0042\",\n    \"note\": \"Sent from the main account.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/paid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "paid"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bank_reference\": \"TRX-20261102-0042\",\n    \"note\": \"Sent from the main account.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Payout Paid Twice",
                                            "_joshen": {
                                                "route": "admin.payouts.paid",
                                                "name": "Payout Paid Twice",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-13b1-72df-ac41-1332c58aebaf/paid",
                                                    "query": null,
                                                    "body": {
                                                        "bank_reference": "TRX-2"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_a_wrong_status_is_a_409_invalid_state_transition_and_changes_nothing"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-13b1-72df-ac41-1332c58aebaf/paid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-13b1-72df-ac41-1332c58aebaf",
                                                        "paid"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bank_reference\": \"TRX-2\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This request cannot move to that status from its current one.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"e51ce3dc-9fc8-45b6-8dbc-99f2d9f4dfa1\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payout Paid Reference Missing",
                                            "_joshen": {
                                                "route": "admin.payouts.paid",
                                                "name": "Payout Paid Reference Missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-0937-703f-aaed-f05fb113996d/paid",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_a_reference_is_required_and_a_verified_account_stays_as_it_was"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-0937-703f-aaed-f05fb113996d/paid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-0937-703f-aaed-f05fb113996d",
                                                        "paid"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The bank reference field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"bank_reference\": [\n                \"The bank reference field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "payout_id",
                                                "set_by": [
                                                    "admin.payouts.index",
                                                    "admin.payouts.show",
                                                    "provider.payouts.index",
                                                    "provider.payouts.store",
                                                    "delivery.payouts.index",
                                                    "delivery.payouts.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Cancel",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"payout_id\",\"Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payouts/:payout/cancel",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payouts",
                                                ":payout",
                                                "cancel"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "payout",
                                                    "value": "{{payout_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payouts.cancel`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `note`\n- **Description:** Why the request was rejected; the beneficiary sees it.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `The IBAN does not belong to the account holder.`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `reject_account`\n- **Description:** Send `true` when the bank details are wrong: her payout account becomes `rejected` and her next request is refused until she saves new details (DEC-11, DEC-25).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{payout_id}}` — Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Payout Cancelled With Account Rejected\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Payout Cancel Note Missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Request rejected.\",\n    \"data\": {\n        \"id\": \"01a1ba26-0bcc-725d-961d-53f48bf107a7\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-0ba4-7052-8028-c60cbe0f340a\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Rahsaan Heathcote\",\n            \"phone\": \"545693335\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Rejected\"\n        },\n        \"earnings_count\": 0,\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"bank_reference\": null,\n        \"requested_at\": \"2026-11-08T07:53:37+00:00\",\n        \"paid_at\": null,\n        \"processed_by\": {\n            \"id\": \"01a1ba26-0ba0-70f1-93e7-89ff119969b9\",\n            \"name\": \"Irma Gottlieb V\"\n        },\n        \"allowed_statuses\": [],\n        \"note\": \"IBAN holder differs\",\n        \"payout_account\": {\n            \"id\": \"01a1ba26-0ba8-7166-b652-6f77b0e3898d\",\n            \"holder_name\": \"mhtqqezcbvrc\",\n            \"bank_name\": \"cdxtzfvsxoca\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"rejected\",\n                \"label\": \"Rejected\"\n            },\n            \"created_at\": \"2026-11-08T07:53:37+00:00\",\n            \"verified_at\": null,\n            \"verified_by\": null\n        },\n        \"totals\": {\n            \"gross_amount\": \"0.00\",\n            \"commission_amount\": \"0.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"0.00\"\n        },\n        \"earnings\": [],\n        \"created_at\": \"2026-11-08T07:53:37+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"The IBAN does not belong to the account holder.\",\n    \"reject_account\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payout Cancelled With Account Rejected",
                                            "_joshen": {
                                                "route": "admin.payouts.cancel",
                                                "name": "Payout Cancelled With Account Rejected",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-0bcc-725d-961d-53f48bf107a7/cancel",
                                                    "query": null,
                                                    "body": {
                                                        "note": "IBAN holder differs",
                                                        "reject_account": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_rejecting_returns_the_earnings_and_may_reject_the_bank_details"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-0bcc-725d-961d-53f48bf107a7/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-0bcc-725d-961d-53f48bf107a7",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"IBAN holder differs\",\n    \"reject_account\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Request rejected.\",\n    \"data\": {\n        \"id\": \"01a1ba26-0bcc-725d-961d-53f48bf107a7\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-0ba4-7052-8028-c60cbe0f340a\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Rahsaan Heathcote\",\n            \"phone\": \"545693335\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Rejected\"\n        },\n        \"earnings_count\": 0,\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"bank_reference\": null,\n        \"requested_at\": \"2026-11-08T07:53:37+00:00\",\n        \"paid_at\": null,\n        \"processed_by\": {\n            \"id\": \"01a1ba26-0ba0-70f1-93e7-89ff119969b9\",\n            \"name\": \"Irma Gottlieb V\"\n        },\n        \"allowed_statuses\": [],\n        \"note\": \"IBAN holder differs\",\n        \"payout_account\": {\n            \"id\": \"01a1ba26-0ba8-7166-b652-6f77b0e3898d\",\n            \"holder_name\": \"mhtqqezcbvrc\",\n            \"bank_name\": \"cdxtzfvsxoca\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"rejected\",\n                \"label\": \"Rejected\"\n            },\n            \"created_at\": \"2026-11-08T07:53:37+00:00\",\n            \"verified_at\": null,\n            \"verified_by\": null\n        },\n        \"totals\": {\n            \"gross_amount\": \"0.00\",\n            \"commission_amount\": \"0.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"0.00\"\n        },\n        \"earnings\": [],\n        \"created_at\": \"2026-11-08T07:53:37+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"The IBAN does not belong to the account holder.\",\n    \"reject_account\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"The IBAN does not belong to the account holder.\",\n    \"reject_account\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"The IBAN does not belong to the account holder.\",\n    \"reject_account\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payout Cancel Note Missing",
                                            "_joshen": {
                                                "route": "admin.payouts.cancel",
                                                "name": "Payout Cancel Note Missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-0bcc-725d-961d-53f48bf107a7/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_rejecting_returns_the_earnings_and_may_reject_the_bank_details"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-0bcc-725d-961d-53f48bf107a7/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-0bcc-725d-961d-53f48bf107a7",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The note field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"note\": [\n                \"The note field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "payout_id",
                                                "set_by": [
                                                    "admin.payouts.index",
                                                    "admin.payouts.show",
                                                    "provider.payouts.index",
                                                    "provider.payouts.store",
                                                    "delivery.payouts.index",
                                                    "delivery.payouts.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Fail",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"payout_id\",\"Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/payouts/:payout/fail",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "payouts",
                                                ":payout",
                                                "fail"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "payout",
                                                    "value": "{{payout_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.payouts.fail`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `note`\n- **Description:** What happened to the transfer (for example the bank returned it); the beneficiary sees it.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `The bank returned the transfer: account closed.`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{payout_id}}` — Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Payout Failed\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Payout Fail Before Processing — `error_code: INVALID_STATE_TRANSITION`\n- `422` Payout Fail Note Missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Transfer marked as failed.\",\n    \"data\": {\n        \"id\": \"01a1ba26-10c8-7132-a361-ca72ddc22d33\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-10a2-70f7-9fba-9fccfe35e391\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Zachary Murazik\",\n            \"phone\": \"519499663\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"failed\",\n            \"label\": \"Failed\"\n        },\n        \"earnings_count\": 0,\n        \"account_status\": {\n            \"value\": \"pending\",\n            \"label\": \"Pending\"\n        },\n        \"bank_reference\": null,\n        \"requested_at\": \"2026-11-08T07:53:39+00:00\",\n        \"paid_at\": null,\n        \"processed_by\": {\n            \"id\": \"01a1ba26-109f-70e4-8712-17f9180e43dc\",\n            \"name\": \"Dr. Emely Veum PhD\"\n        },\n        \"allowed_statuses\": [],\n        \"note\": \"Bank returned the transfer\",\n        \"payout_account\": {\n            \"id\": \"01a1ba26-10a5-7345-ba0a-efe1b61d9e3c\",\n            \"holder_name\": \"wadgzqncrzfl\",\n            \"bank_name\": \"pecvnndomvgm\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-08T07:53:39+00:00\",\n            \"verified_at\": null,\n            \"verified_by\": null\n        },\n        \"totals\": {\n            \"gross_amount\": \"0.00\",\n            \"commission_amount\": \"0.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"0.00\"\n        },\n        \"earnings\": [],\n        \"created_at\": \"2026-11-08T07:53:39+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"note\": \"The bank returned the transfer: account closed.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payout Failed",
                                            "_joshen": {
                                                "route": "admin.payouts.fail",
                                                "name": "Payout Failed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-10c8-7132-a361-ca72ddc22d33/fail",
                                                    "query": null,
                                                    "body": {
                                                        "note": "Bank returned the transfer"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_a_failed_transfer_returns_the_earnings_before_or_after_it_was_recorded_paid"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-10c8-7132-a361-ca72ddc22d33/fail",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-10c8-7132-a361-ca72ddc22d33",
                                                        "fail"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"Bank returned the transfer\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Transfer marked as failed.\",\n    \"data\": {\n        \"id\": \"01a1ba26-10c8-7132-a361-ca72ddc22d33\",\n        \"beneficiary\": {\n            \"id\": \"01a1ba26-10a2-70f7-9fba-9fccfe35e391\",\n            \"role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"full_name\": \"Zachary Murazik\",\n            \"phone\": \"519499663\"\n        },\n        \"amount\": \"200.00\",\n        \"status\": {\n            \"value\": \"failed\",\n            \"label\": \"Failed\"\n        },\n        \"earnings_count\": 0,\n        \"account_status\": {\n            \"value\": \"pending\",\n            \"label\": \"Pending\"\n        },\n        \"bank_reference\": null,\n        \"requested_at\": \"2026-11-08T07:53:39+00:00\",\n        \"paid_at\": null,\n        \"processed_by\": {\n            \"id\": \"01a1ba26-109f-70e4-8712-17f9180e43dc\",\n            \"name\": \"Dr. Emely Veum PhD\"\n        },\n        \"allowed_statuses\": [],\n        \"note\": \"Bank returned the transfer\",\n        \"payout_account\": {\n            \"id\": \"01a1ba26-10a5-7345-ba0a-efe1b61d9e3c\",\n            \"holder_name\": \"wadgzqncrzfl\",\n            \"bank_name\": \"pecvnndomvgm\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-08T07:53:39+00:00\",\n            \"verified_at\": null,\n            \"verified_by\": null\n        },\n        \"totals\": {\n            \"gross_amount\": \"0.00\",\n            \"commission_amount\": \"0.00\",\n            \"delivery_fee_amount\": \"0.00\",\n            \"net_amount\": \"0.00\"\n        },\n        \"earnings\": [],\n        \"created_at\": \"2026-11-08T07:53:39+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/fail",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "fail"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"The bank returned the transfer: account closed.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/fail",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "fail"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"The bank returned the transfer: account closed.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/:payout/fail",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        ":payout",
                                                        "fail"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "payout",
                                                            "value": "{{payout_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"The bank returned the transfer: account closed.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Payout Fail Before Processing",
                                            "_joshen": {
                                                "route": "admin.payouts.fail",
                                                "name": "Payout Fail Before Processing",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-13b1-72df-ac41-1332c58aebaf/fail",
                                                    "query": null,
                                                    "body": {
                                                        "note": "x"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_a_wrong_status_is_a_409_invalid_state_transition_and_changes_nothing"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-13b1-72df-ac41-1332c58aebaf/fail",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-13b1-72df-ac41-1332c58aebaf",
                                                        "fail"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"note\": \"x\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This request cannot move to that status from its current one.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"4f20b18a-903c-405c-abd4-f7b70f48d45d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payout Fail Note Missing",
                                            "_joshen": {
                                                "route": "admin.payouts.fail",
                                                "name": "Payout Fail Note Missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/payouts/01a1ba26-10c8-7132-a361-ca72ddc22d33/fail",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PayoutManagementTest::test_ac_admin_017_a_failed_transfer_returns_the_earnings_before_or_after_it_was_recorded_paid"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/payouts/01a1ba26-10c8-7132-a361-ca72ddc22d33/fail",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "payouts",
                                                        "01a1ba26-10c8-7132-a361-ca72ddc22d33",
                                                        "fail"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The note field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"note\": [\n                \"The note field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "payout_id",
                                                "set_by": [
                                                    "admin.payouts.index",
                                                    "admin.payouts.show",
                                                    "provider.payouts.index",
                                                    "provider.payouts.store",
                                                    "delivery.payouts.index",
                                                    "delivery.payouts.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/payouts, GET /api/v1/admin/payouts/{payout}, GET /api/v1/provider/payouts, POST /api/v1/provider/payouts, GET /api/v1/delivery/payouts, POST /api/v1/delivery/payouts."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Featured plans",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"featured_plan_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/featured-plans?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "featured-plans"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.featured-plans.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `featured_plan_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Featured Plans List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"featured_plans\": [\n            {\n                \"id\": \"01a1c637-28d6-720f-9dd5-7f002e5edff8\",\n                \"name\": \"Sample-yxlp81686482\",\n                \"billing_period\": {\n                    \"value\": \"monthly\",\n                    \"label\": \"Monthly\"\n                },\n                \"duration_days\": 30,\n                \"price\": \"120.00\",\n                \"vat_rate\": \"15.00\",\n                \"total_amount\": \"138.00\",\n                \"priority_level\": 1,\n                \"grants_verified_badge\": true,\n                \"grants_featured_badge\": false,\n                \"features_packages_on_home\": false,\n                \"is_active\": false,\n                \"sort_order\": 0,\n                \"created_at\": \"2026-11-10T16:07:46+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/featured-plans?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/featured-plans?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/featured-plans?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/featured-plans\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Featured Plans List",
                                            "_joshen": {
                                                "route": "admin.featured-plans.index",
                                                "name": "Featured Plans List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans",
                                                    "query": {
                                                        "filters": {
                                                            "is_active": 0
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_admin_edits_a_plan_and_existing_subscriptions_keep_their_snapshot"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans?filters[is_active]=0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "0"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"featured_plans\": [\n            {\n                \"id\": \"01a1c637-28d6-720f-9dd5-7f002e5edff8\",\n                \"name\": \"Sample-yxlp81686482\",\n                \"billing_period\": {\n                    \"value\": \"monthly\",\n                    \"label\": \"Monthly\"\n                },\n                \"duration_days\": 30,\n                \"price\": \"120.00\",\n                \"vat_rate\": \"15.00\",\n                \"total_amount\": \"138.00\",\n                \"priority_level\": 1,\n                \"grants_verified_badge\": true,\n                \"grants_featured_badge\": false,\n                \"features_packages_on_home\": false,\n                \"is_active\": false,\n                \"sort_order\": 0,\n                \"created_at\": \"2026-11-10T16:07:46+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/featured-plans?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/featured-plans?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/featured-plans?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/featured-plans\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "featured_plan_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"featured_plan_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/featured-plans",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "featured-plans"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.featured-plans.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `billing_period`\n- **Description:** Billing period label shown to providers: `monthly` or `yearly` (DEC-12).\n- **Type:** `string (enum)`\n- **Allowed values:** `monthly`, `yearly`\n- **Required:** required\n- **Example:** `monthly`\n- **Validation rules:** `required|in:\"monthly\",\"yearly\"`\n- `required` — must be provided.\n- `in:\"monthly\",\"yearly\"` — must be one of: \"monthly\", \"yearly\".\n### `duration_days`\n- **Description:** Days of priority a successful payment buys. The end date is set from this when she pays (PROV-007).\n- **Type:** `integer`\n- **Required:** required\n- **Example:** `30`\n- **Validation rules:** `required|integer|between:1,3650`\n- `required` — must be provided.\n- `integer` — must be a whole number.\n- `between:1,3650` — must be between 1, 3650.\n### `price`\n- **Description:** Fee in SAR excluding VAT, 2 decimals. Existing subscriptions keep the price they paid; the change only affects new ones.\n- **Type:** `number`\n- **Required:** required\n- **Example:** `299.00`\n- **Validation rules:** `required|decimal:0,2|numeric|gt:0|max:9999999999.99`\n- `required` — must be provided.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `numeric` — must be numeric.\n- `gt:0` — custom validation rule.\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `vat_rate`\n- **Description:** VAT percentage added on top of the fee, default 15.00. The provider sees fee, VAT and total before paying (SCR-34).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `15.00`\n- **Validation rules:** `sometimes|decimal:0,2|numeric|between:0,100`\n- `sometimes` — validated only when the field is present.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `numeric` — must be numeric.\n- `between:0,100` — must be between 0, 100.\n### `priority_level`\n- **Description:** Ranking weight among subscribers: a higher level ranks first inside the eligible results (BR-09). It never lifts a provider who is not eligible.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `2`\n- **Validation rules:** `sometimes|integer|between:1,32767`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:1,32767` — must be between 1, 32767.\n### `grants_verified_badge`\n- **Description:** Whether the provider app presents the plan as including the \"Verified\" badge. Customers see \"Verified\" from verification status, never from the plan (DEC-23).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `grants_featured_badge`\n- **Description:** Whether the plan includes the \"Featured\" badge. The customer-facing label is still open (DEC-23).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `features_packages_on_home`\n- **Description:** Whether the plan highlights her packages on the customer home page. Display only; open in DEC-23.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `is_active`\n- **Description:** Visibility in the provider app: `true` shows the plan, `false` hides it from new subscriptions without touching existing ones (ADMIN-005).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Position in the provider's plan list, ascending.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `ar`\n- **Description:** Arabic content, required on create (TD-12).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"name\":\"تمييز ذهبي\",\"description\":\"Example content text\",\"features\":[\"value\",\"الظهور الأول في نتائج العميلات\"]}`\n- **Validation rules:** `required|array|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** English content, optional. When sent, `en.name` is required.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Gold\",\"description\":\"Example content text\",\"features\":[\"value\",\"First in customer results\"]}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `ar.name`\n- **Description:** Plan name, unique per language.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `تمييز ذهبي`\n- **Validation rules:** `required|string|max:100|unique:featured_plan_translations,name,NULL,featured_plan_id,locale,\"ar\"`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:featured_plan_translations,name,NULL,featured_plan_id,locale,\"ar\"` — must be unique (featured_plan_translations, name, NULL, featured_plan_id, locale, \"ar\").\n### `ar.description`\n- **Description:** Short description shown under the name.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Example content text`\n- **Validation rules:** `sometimes|nullable|string|max:2000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:2000` — must not exceed 2000.\n### `ar.features`\n- **Description:** Benefit bullets shown on the plan card, in order, up to 12.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"value\",\"الظهور الأول في نتائج العميلات\"]`\n- **Validation rules:** `sometimes|array|max:12`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `max:12` — must not exceed 12.\n### `ar.features.*`\n- **Description:** One benefit line, up to 150 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `string|max:150`\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `en.name`\n- **Description:** Plan name in English, unique per language.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Gold`\n- **Validation rules:** `required_with:en|string|max:100|unique:featured_plan_translations,name,NULL,featured_plan_id,locale,\"en\"`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:featured_plan_translations,name,NULL,featured_plan_id,locale,\"en\"` — must be unique (featured_plan_translations, name, NULL, featured_plan_id, locale, \"en\").\n### `en.description`\n- **Description:** Short description in English.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Example content text`\n- **Validation rules:** `sometimes|nullable|string|max:2000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:2000` — must not exceed 2000.\n### `en.features`\n- **Description:** Benefit bullets in English, up to 12.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"value\",\"First in customer results\"]`\n- **Validation rules:** `sometimes|array|max:12`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `max:12` — must not exceed 12.\n### `en.features.*`\n- **Description:** One benefit line, up to 150 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `string|max:150`\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `featured_plan_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Featured Plan Arabic Only\n- `201` Featured Plan Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Featured Plan Invalid Values\n- `422` Featured Plan Missing Fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-2247-7343-b0a8-799f38ac8d47\",\n        \"name\": \"تمييز ذهبي سنوي\",\n        \"billing_period\": {\n            \"value\": \"yearly\",\n            \"label\": \"Yearly\"\n        },\n        \"duration_days\": 365,\n        \"price\": \"2690.00\",\n        \"vat_rate\": \"15.00\",\n        \"total_amount\": \"3093.50\",\n        \"priority_level\": 1,\n        \"grants_verified_badge\": true,\n        \"grants_featured_badge\": false,\n        \"features_packages_on_home\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"created_at\": \"2026-11-10T16:07:44+00:00\",\n        \"updated_at\": \"2026-11-10T16:07:44+00:00\",\n        \"ar\": {\n            \"name\": \"تمييز ذهبي سنوي\",\n            \"description\": null,\n            \"features\": []\n        },\n        \"en\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": false,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Featured Plan Arabic Only",
                                            "_joshen": {
                                                "route": "admin.featured-plans.store",
                                                "name": "Featured Plan Arabic Only",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans",
                                                    "query": null,
                                                    "body": {
                                                        "billing_period": "yearly",
                                                        "duration_days": 365,
                                                        "price": "2690.00",
                                                        "ar": {
                                                            "name": "تمييز ذهبي سنوي"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_admin_creates_a_plan_with_arabic_required_and_english_optional"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"yearly\",\n    \"duration_days\": 365,\n    \"price\": \"2690.00\",\n    \"ar\": {\n        \"name\": \"تمييز ذهبي سنوي\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-2247-7343-b0a8-799f38ac8d47\",\n        \"name\": \"تمييز ذهبي سنوي\",\n        \"billing_period\": {\n            \"value\": \"yearly\",\n            \"label\": \"Yearly\"\n        },\n        \"duration_days\": 365,\n        \"price\": \"2690.00\",\n        \"vat_rate\": \"15.00\",\n        \"total_amount\": \"3093.50\",\n        \"priority_level\": 1,\n        \"grants_verified_badge\": true,\n        \"grants_featured_badge\": false,\n        \"features_packages_on_home\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"created_at\": \"2026-11-10T16:07:44+00:00\",\n        \"updated_at\": \"2026-11-10T16:07:44+00:00\",\n        \"ar\": {\n            \"name\": \"تمييز ذهبي سنوي\",\n            \"description\": null,\n            \"features\": []\n        },\n        \"en\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 Featured Plan Created",
                                            "_joshen": {
                                                "route": "admin.featured-plans.store",
                                                "name": "Featured Plan Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans",
                                                    "query": null,
                                                    "body": {
                                                        "billing_period": "monthly",
                                                        "duration_days": 30,
                                                        "price": "299.00",
                                                        "vat_rate": "15.00",
                                                        "priority_level": 2,
                                                        "grants_verified_badge": true,
                                                        "grants_featured_badge": true,
                                                        "features_packages_on_home": true,
                                                        "sort_order": 2,
                                                        "ar": {
                                                            "name": "تمييز ذهبي",
                                                            "description": "الأكثر طلباً",
                                                            "features": [
                                                                "شارة «موثّقة» + «مميزة»",
                                                                "الظهور الأول في نتائج العميلات"
                                                            ]
                                                        },
                                                        "en": {
                                                            "name": "Gold",
                                                            "description": "Most popular",
                                                            "features": [
                                                                "Verified + Featured badge",
                                                                "First in customer results"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_admin_creates_a_plan_with_arabic_required_and_english_optional"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": true,\n    \"sort_order\": 2,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"الأكثر طلباً\",\n        \"features\": [\n            \"شارة «موثّقة» + «مميزة»\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Most popular\",\n        \"features\": [\n            \"Verified + Featured badge\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-223a-7383-bf28-cdf886a176b5\",\n        \"name\": \"Gold\",\n        \"billing_period\": {\n            \"value\": \"monthly\",\n            \"label\": \"Monthly\"\n        },\n        \"duration_days\": 30,\n        \"price\": \"299.00\",\n        \"vat_rate\": \"15.00\",\n        \"total_amount\": \"343.85\",\n        \"priority_level\": 2,\n        \"grants_verified_badge\": true,\n        \"grants_featured_badge\": true,\n        \"features_packages_on_home\": true,\n        \"is_active\": true,\n        \"sort_order\": 2,\n        \"created_at\": \"2026-11-10T16:07:44+00:00\",\n        \"updated_at\": \"2026-11-10T16:07:44+00:00\",\n        \"ar\": {\n            \"name\": \"تمييز ذهبي\",\n            \"description\": \"الأكثر طلباً\",\n            \"features\": [\n                \"شارة «موثّقة» + «مميزة»\",\n                \"الظهور الأول في نتائج العميلات\"\n            ]\n        },\n        \"en\": {\n            \"name\": \"Gold\",\n            \"description\": \"Most popular\",\n            \"features\": [\n                \"Verified + Featured badge\",\n                \"First in customer results\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": false,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": false,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": false,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Featured Plan Invalid Values",
                                            "_joshen": {
                                                "route": "admin.featured-plans.store",
                                                "name": "Featured Plan Invalid Values",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans",
                                                    "query": null,
                                                    "body": {
                                                        "billing_period": "weekly",
                                                        "duration_days": 0,
                                                        "price": "0",
                                                        "vat_rate": "120",
                                                        "ar": {
                                                            "name": "تمييز ذهبي"
                                                        },
                                                        "en": {
                                                            "features": [
                                                                "x"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_plan_validation_protects_fee_duration_and_unique_names"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"weekly\",\n    \"duration_days\": 0,\n    \"price\": \"0\",\n    \"vat_rate\": \"120\",\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\"\n    },\n    \"en\": {\n        \"features\": [\n            \"x\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected Billing period is invalid. (and 5 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"billing_period\": [\n                \"The selected Billing period is invalid.\"\n            ],\n            \"duration_days\": [\n                \"The Duration in days field must be between 1 and 3650.\"\n            ],\n            \"price\": [\n                \"The Price field must be greater than 0.\"\n            ],\n            \"vat_rate\": [\n                \"The VAT rate field must be between 0 and 100.\"\n            ],\n            \"ar.name\": [\n                \"The Arabic name has already been taken.\"\n            ],\n            \"en.name\": [\n                \"The English name field is required when English content is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Featured Plan Missing Fields",
                                            "_joshen": {
                                                "route": "admin.featured-plans.store",
                                                "name": "Featured Plan Missing Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_plan_validation_protects_fee_duration_and_unique_names"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Billing period field is required. (and 4 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"billing_period\": [\n                \"The Billing period field is required.\"\n            ],\n            \"duration_days\": [\n                \"The Duration in days field is required.\"\n            ],\n            \"price\": [\n                \"The Price field is required.\"\n            ],\n            \"ar\": [\n                \"The Arabic content field is required.\"\n            ],\n            \"ar.name\": [\n                \"The Arabic name field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "featured_plan_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"featured_plan_id\",\"Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"featured_plan_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "featured-plans",
                                                ":featured_plan"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "featured_plan",
                                                    "value": "{{featured_plan_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.featured-plans.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{featured_plan_id}}` — Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `featured_plan_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Featured Plan Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-28d6-720f-9dd5-7f002e5edff8\",\n        \"name\": \"Sample-yxlp81686482\",\n        \"billing_period\": {\n            \"value\": \"monthly\",\n            \"label\": \"Monthly\"\n        },\n        \"duration_days\": 30,\n        \"price\": \"120.00\",\n        \"vat_rate\": \"15.00\",\n        \"total_amount\": \"138.00\",\n        \"priority_level\": 1,\n        \"grants_verified_badge\": true,\n        \"grants_featured_badge\": false,\n        \"features_packages_on_home\": false,\n        \"is_active\": false,\n        \"sort_order\": 0,\n        \"created_at\": \"2026-11-10T16:07:46+00:00\",\n        \"updated_at\": \"2026-11-10T16:07:46+00:00\",\n        \"ar\": {\n            \"name\": \"جديدة\",\n            \"description\": null,\n            \"features\": [\n                \"ميزة\"\n            ]\n        },\n        \"en\": {\n            \"name\": \"Sample-yxlp81686482\",\n            \"description\": null,\n            \"features\": []\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Featured Plan Details",
                                            "_joshen": {
                                                "route": "admin.featured-plans.show",
                                                "name": "Featured Plan Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans/01a1c637-28d6-720f-9dd5-7f002e5edff8",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_admin_edits_a_plan_and_existing_subscriptions_keep_their_snapshot"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/01a1c637-28d6-720f-9dd5-7f002e5edff8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        "01a1c637-28d6-720f-9dd5-7f002e5edff8"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-28d6-720f-9dd5-7f002e5edff8\",\n        \"name\": \"Sample-yxlp81686482\",\n        \"billing_period\": {\n            \"value\": \"monthly\",\n            \"label\": \"Monthly\"\n        },\n        \"duration_days\": 30,\n        \"price\": \"120.00\",\n        \"vat_rate\": \"15.00\",\n        \"total_amount\": \"138.00\",\n        \"priority_level\": 1,\n        \"grants_verified_badge\": true,\n        \"grants_featured_badge\": false,\n        \"features_packages_on_home\": false,\n        \"is_active\": false,\n        \"sort_order\": 0,\n        \"created_at\": \"2026-11-10T16:07:46+00:00\",\n        \"updated_at\": \"2026-11-10T16:07:46+00:00\",\n        \"ar\": {\n            \"name\": \"جديدة\",\n            \"description\": null,\n            \"features\": [\n                \"ميزة\"\n            ]\n        },\n        \"en\": {\n            \"name\": \"Sample-yxlp81686482\",\n            \"description\": null,\n            \"features\": []\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "featured_plan_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "featured_plan_id",
                                                "set_by": [
                                                    "admin.featured-plans.index",
                                                    "admin.featured-plans.store",
                                                    "admin.featured-plans.show",
                                                    "admin.featured-plans.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"featured_plan_id\",\"Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"featured_plan_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "featured-plans",
                                                ":featured_plan"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "featured_plan",
                                                    "value": "{{featured_plan_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.featured-plans.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `billing_period`\n- **Description:** Billing period label shown to providers: `monthly` or `yearly` (DEC-12).\n- **Type:** `string (enum)`\n- **Allowed values:** `monthly`, `yearly`\n- **Required:** optional\n- **Example:** `monthly`\n- **Validation rules:** `sometimes|in:\"monthly\",\"yearly\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"monthly\",\"yearly\"` — must be one of: \"monthly\", \"yearly\".\n### `duration_days`\n- **Description:** Days of priority a successful payment buys. The end date is set from this when she pays (PROV-007).\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `30`\n- **Validation rules:** `sometimes|integer|between:1,3650`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:1,3650` — must be between 1, 3650.\n### `price`\n- **Description:** Fee in SAR excluding VAT, 2 decimals. Existing subscriptions keep the price they paid; the change only affects new ones.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `299.00`\n- **Validation rules:** `sometimes|decimal:0,2|numeric|gt:0|max:9999999999.99`\n- `sometimes` — validated only when the field is present.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `numeric` — must be numeric.\n- `gt:0` — custom validation rule.\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `vat_rate`\n- **Description:** VAT percentage added on top of the fee, default 15.00. The provider sees fee, VAT and total before paying (SCR-34).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `15.00`\n- **Validation rules:** `sometimes|decimal:0,2|numeric|between:0,100`\n- `sometimes` — validated only when the field is present.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `numeric` — must be numeric.\n- `between:0,100` — must be between 0, 100.\n### `priority_level`\n- **Description:** Ranking weight among subscribers: a higher level ranks first inside the eligible results (BR-09). It never lifts a provider who is not eligible.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `2`\n- **Validation rules:** `sometimes|integer|between:1,32767`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:1,32767` — must be between 1, 32767.\n### `grants_verified_badge`\n- **Description:** Whether the provider app presents the plan as including the \"Verified\" badge. Customers see \"Verified\" from verification status, never from the plan (DEC-23).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `grants_featured_badge`\n- **Description:** Whether the plan includes the \"Featured\" badge. The customer-facing label is still open (DEC-23).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `features_packages_on_home`\n- **Description:** Whether the plan highlights her packages on the customer home page. Display only; open in DEC-23.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `is_active`\n- **Description:** Visibility in the provider app: `true` shows the plan, `false` hides it from new subscriptions without touching existing ones (ADMIN-005).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Position in the provider's plan list, ascending.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|between:-2147483648,2147483647`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:-2147483648,2147483647` — must be between -2147483648, 2147483647.\n### `ar`\n- **Description:** Arabic content, required on create (TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"تمييز ذهبي\",\"description\":\"Example content text\",\"features\":[\"value\",\"الظهور الأول في نتائج العميلات\"]}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `en`\n- **Description:** English content, optional. When sent, `en.name` is required.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Gold\",\"description\":\"Example content text\",\"features\":[\"value\",\"First in customer results\"]}`\n- **Validation rules:** `sometimes|array|custom:SupportedKeys`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n### `ar.name`\n- **Description:** Plan name, unique per language.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `تمييز ذهبي`\n- **Validation rules:** `sometimes|string|max:100|unique:featured_plan_translations,name,NULL,featured_plan_id,locale,\"ar\"`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:featured_plan_translations,name,NULL,featured_plan_id,locale,\"ar\"` — must be unique (featured_plan_translations, name, NULL, featured_plan_id, locale, \"ar\").\n### `ar.description`\n- **Description:** Short description shown under the name.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Example content text`\n- **Validation rules:** `sometimes|nullable|string|max:2000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:2000` — must not exceed 2000.\n### `ar.features`\n- **Description:** Benefit bullets shown on the plan card, in order, up to 12.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"value\",\"الظهور الأول في نتائج العميلات\"]`\n- **Validation rules:** `sometimes|array|max:12`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `max:12` — must not exceed 12.\n### `ar.features.*`\n- **Description:** One benefit line, up to 150 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `string|max:150`\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `en.name`\n- **Description:** Plan name in English, unique per language.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Gold`\n- **Validation rules:** `required_with:en|string|max:100|unique:featured_plan_translations,name,NULL,featured_plan_id,locale,\"en\"`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n- `unique:featured_plan_translations,name,NULL,featured_plan_id,locale,\"en\"` — must be unique (featured_plan_translations, name, NULL, featured_plan_id, locale, \"en\").\n### `en.description`\n- **Description:** Short description in English.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Example content text`\n- **Validation rules:** `sometimes|nullable|string|max:2000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:2000` — must not exceed 2000.\n### `en.features`\n- **Description:** Benefit bullets in English, up to 12.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"value\",\"First in customer results\"]`\n- **Validation rules:** `sometimes|array|max:12`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `max:12` — must not exceed 12.\n### `en.features.*`\n- **Description:** One benefit line, up to 150 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `string|max:150`\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n\n**Variables:**\n- Uses `{{featured_plan_id}}` — Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `featured_plan_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Featured Plan Patched\n- `200` Featured Plan Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Featured Plan Update Invalid\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-268d-704b-8629-ccd47ad29efe\",\n        \"name\": \"Sample-ofyp20389581\",\n        \"billing_period\": {\n            \"value\": \"monthly\",\n            \"label\": \"Monthly\"\n        },\n        \"duration_days\": 30,\n        \"price\": \"130.00\",\n        \"vat_rate\": \"15.00\",\n        \"total_amount\": \"149.50\",\n        \"priority_level\": 1,\n        \"grants_verified_badge\": true,\n        \"grants_featured_badge\": false,\n        \"features_packages_on_home\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"created_at\": \"2026-11-10T16:07:45+00:00\",\n        \"updated_at\": \"2026-11-10T16:07:45+00:00\",\n        \"ar\": {\n            \"name\": \"أساسية\",\n            \"description\": null,\n            \"features\": []\n        },\n        \"en\": {\n            \"name\": \"Sample-ofyp20389581\",\n            \"description\": null,\n            \"features\": []\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": false,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Featured Plan Patched",
                                            "_joshen": {
                                                "route": "admin.featured-plans.update",
                                                "name": "Featured Plan Patched",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans/01a1c637-268d-704b-8629-ccd47ad29efe",
                                                    "query": null,
                                                    "body": {
                                                        "price": "130.00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_td_179_patch_and_put_both_update_a_plan_partially_and_leave_the_other_fields_alone"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/01a1c637-268d-704b-8629-ccd47ad29efe",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        "01a1c637-268d-704b-8629-ccd47ad29efe"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"130.00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-268d-704b-8629-ccd47ad29efe\",\n        \"name\": \"Sample-ofyp20389581\",\n        \"billing_period\": {\n            \"value\": \"monthly\",\n            \"label\": \"Monthly\"\n        },\n        \"duration_days\": 30,\n        \"price\": \"130.00\",\n        \"vat_rate\": \"15.00\",\n        \"total_amount\": \"149.50\",\n        \"priority_level\": 1,\n        \"grants_verified_badge\": true,\n        \"grants_featured_badge\": false,\n        \"features_packages_on_home\": false,\n        \"is_active\": true,\n        \"sort_order\": 0,\n        \"created_at\": \"2026-11-10T16:07:45+00:00\",\n        \"updated_at\": \"2026-11-10T16:07:45+00:00\",\n        \"ar\": {\n            \"name\": \"أساسية\",\n            \"description\": null,\n            \"features\": []\n        },\n        \"en\": {\n            \"name\": \"Sample-ofyp20389581\",\n            \"description\": null,\n            \"features\": []\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Featured Plan Updated",
                                            "_joshen": {
                                                "route": "admin.featured-plans.update",
                                                "name": "Featured Plan Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans/01a1c637-28d6-720f-9dd5-7f002e5edff8",
                                                    "query": null,
                                                    "body": {
                                                        "price": "120.00",
                                                        "is_active": false,
                                                        "ar": {
                                                            "name": "جديدة",
                                                            "features": [
                                                                "ميزة"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_admin_edits_a_plan_and_existing_subscriptions_keep_their_snapshot"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/01a1c637-28d6-720f-9dd5-7f002e5edff8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        "01a1c637-28d6-720f-9dd5-7f002e5edff8"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"120.00\",\n    \"is_active\": false,\n    \"ar\": {\n        \"name\": \"جديدة\",\n        \"features\": [\n            \"ميزة\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-28d6-720f-9dd5-7f002e5edff8\",\n        \"name\": \"Sample-yxlp81686482\",\n        \"billing_period\": {\n            \"value\": \"monthly\",\n            \"label\": \"Monthly\"\n        },\n        \"duration_days\": 30,\n        \"price\": \"120.00\",\n        \"vat_rate\": \"15.00\",\n        \"total_amount\": \"138.00\",\n        \"priority_level\": 1,\n        \"grants_verified_badge\": true,\n        \"grants_featured_badge\": false,\n        \"features_packages_on_home\": false,\n        \"is_active\": false,\n        \"sort_order\": 0,\n        \"created_at\": \"2026-11-10T16:07:46+00:00\",\n        \"updated_at\": \"2026-11-10T16:07:46+00:00\",\n        \"ar\": {\n            \"name\": \"جديدة\",\n            \"description\": null,\n            \"features\": [\n                \"ميزة\"\n            ]\n        },\n        \"en\": {\n            \"name\": \"Sample-yxlp81686482\",\n            \"description\": null,\n            \"features\": []\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": false,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": false,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"billing_period\": \"monthly\",\n    \"duration_days\": 30,\n    \"price\": \"299.00\",\n    \"vat_rate\": \"15.00\",\n    \"priority_level\": 2,\n    \"grants_verified_badge\": true,\n    \"grants_featured_badge\": true,\n    \"features_packages_on_home\": false,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"تمييز ذهبي\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"الظهور الأول في نتائج العميلات\"\n        ]\n    },\n    \"en\": {\n        \"name\": \"Gold\",\n        \"description\": \"Example content text\",\n        \"features\": [\n            \"value\",\n            \"First in customer results\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Featured Plan Update Invalid",
                                            "_joshen": {
                                                "route": "admin.featured-plans.update",
                                                "name": "Featured Plan Update Invalid",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans/01a1c637-28d6-720f-9dd5-7f002e5edff8",
                                                    "query": null,
                                                    "body": {
                                                        "price": "-5",
                                                        "priority_level": 0,
                                                        "ar": {
                                                            "features": "not-a-list"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_admin_edits_a_plan_and_existing_subscriptions_keep_their_snapshot"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/01a1c637-28d6-720f-9dd5-7f002e5edff8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        "01a1c637-28d6-720f-9dd5-7f002e5edff8"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"-5\",\n    \"priority_level\": 0,\n    \"ar\": {\n        \"features\": \"not-a-list\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Price field must be greater than 0. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"price\": [\n                \"The Price field must be greater than 0.\"\n            ],\n            \"priority_level\": [\n                \"The Priority level field must be between 1 and 32767.\"\n            ],\n            \"ar.features\": [\n                \"The Arabic features field must be an array.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "featured_plan_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "featured_plan_id",
                                                "set_by": [
                                                    "admin.featured-plans.index",
                                                    "admin.featured-plans.store",
                                                    "admin.featured-plans.show",
                                                    "admin.featured-plans.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"featured_plan_id\",\"Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "featured-plans",
                                                ":featured_plan"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "featured_plan",
                                                    "value": "{{featured_plan_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.featured-plans.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{featured_plan_id}}` — Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Featured Plan Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Featured Plan Delete Blocked — `error_code: FEATURED_PLAN_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Featured Plan Deleted",
                                            "_joshen": {
                                                "route": "admin.featured-plans.destroy",
                                                "name": "Featured Plan Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans/01a1c637-2b0e-701d-b41f-1e7d016814d7",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_plan_with_subscriptions_is_disabled_not_deleted"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/01a1c637-2b0e-701d-b41f-1e7d016814d7",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        "01a1c637-2b0e-701d-b41f-1e7d016814d7"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/:featured_plan",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        ":featured_plan"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_plan",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Featured Plan Delete Blocked",
                                            "_joshen": {
                                                "route": "admin.featured-plans.destroy",
                                                "name": "Featured Plan Delete Blocked",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-plans/01a1c637-2b0b-7097-8db1-d23c4e8d883a",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_plan_with_subscriptions_is_disabled_not_deleted"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-plans/01a1c637-2b0b-7097-8db1-d23c4e8d883a",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-plans",
                                                        "01a1c637-2b0b-7097-8db1-d23c4e8d883a"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This plan has subscriptions, so it cannot be deleted. Disable it instead.\",\n    \"data\": {\n        \"error_code\": \"FEATURED_PLAN_IN_USE\",\n        \"correlation_id\": \"9cc31bce-0ee7-4da5-8a11-dc5ff9776263\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "featured_plan_id",
                                                "set_by": [
                                                    "admin.featured-plans.index",
                                                    "admin.featured-plans.store",
                                                    "admin.featured-plans.show",
                                                    "admin.featured-plans.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Featured subscriptions",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"featured_plan_id\",\"Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\"],[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"featured_subscription_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/featured-subscriptions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "featured-subscriptions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Noor",
                                                    "description": "Partial match on the provider trading name. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "active",
                                                    "description": "Subscription status: `active` or `expired` for the BRD view; `payment_failed` / `pending_payment` show attempts that never activated. — `string (enum)`, one of: `pending_payment`, `payment_failed`, `active`, `expired`, `cancelled`, `suspended`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[plan_id]",
                                                    "value": "{{featured_plan_id}}",
                                                    "description": "Featured plan (`featured_plans`) the provider chose. — `string (uuid)`, a `featured_plans` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[auto_renew]",
                                                    "value": "1",
                                                    "description": "Only subscriptions set to renew (`true`) or not (`false`). — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[starts_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest start date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[starts_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest start date, `YYYY-MM-DD`, not before `starts_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[ends_from]",
                                                    "value": "2026-11-01",
                                                    "description": "Earliest end date, `YYYY-MM-DD`; with `ends_to` finds subscriptions about to expire. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[ends_to]",
                                                    "value": "2026-11-30",
                                                    "description": "Latest end date, `YYYY-MM-DD`, not before `ends_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[starts_at]",
                                                    "value": "asc",
                                                    "description": "Order by start date. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[ends_at]",
                                                    "value": "asc",
                                                    "description": "Order by end date. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[total_amount]",
                                                    "value": "desc",
                                                    "description": "Order by the amount charged including VAT. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.featured-subscriptions.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the provider trading name. — `string` (optional)\n- `filters[status]` — Subscription status: `active` or `expired` for the BRD view; `payment_failed` / `pending_payment` show attempts that never activated. — `string (enum)`, one of: `pending_payment`, `payment_failed`, `active`, `expired`, `cancelled`, `suspended` (optional)\n- `filters[plan_id]` — Featured plan (`featured_plans`) the provider chose. — `string (uuid)`, a `featured_plans` record — send its uuid `id` (TD-19) (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `filters[auto_renew]` — Only subscriptions set to renew (`true`) or not (`false`). — `boolean` (optional)\n- `filters[starts_from]` — Earliest start date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[starts_to]` — Latest start date, `YYYY-MM-DD`, not before `starts_from`. — `string (date)` (optional)\n- `filters[ends_from]` — Earliest end date, `YYYY-MM-DD`; with `ends_to` finds subscriptions about to expire. — `string (date)` (optional)\n- `filters[ends_to]` — Latest end date, `YYYY-MM-DD`, not before `ends_from`. — `string (date)` (optional)\n- `sort[created_at]` — Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[starts_at]` — Order by start date. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[ends_at]` — Order by end date. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[total_amount]` — Order by the amount charged including VAT. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{featured_plan_id}}` — Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `featured_subscription_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Featured Subscriptions List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Featured Subscriptions Unsupported Filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"featured_subscriptions\": [\n            {\n                \"id\": \"01a1c637-2d2c-71da-9c17-2fa69931c663\",\n                \"provider\": {\n                    \"id\": \"01a1c637-2d21-720a-b47e-bff662980f8c\",\n                    \"display_name\": \"Layla Salon\",\n                    \"account_status\": {\n                        \"value\": \"approved\",\n                        \"label\": \"Approved\"\n                    }\n                },\n                \"plan\": {\n                    \"id\": \"01a1c637-2d2c-71da-9c17-2fa699cec69f\",\n                    \"name\": \"Sample-gzqn00718860\",\n                    \"priority_level\": 1\n                },\n                \"status\": {\n                    \"value\": \"payment_failed\",\n                    \"label\": \"Payment failed\"\n                },\n                \"price\": \"100.00\",\n                \"vat_amount\": \"15.00\",\n                \"total_amount\": \"115.00\",\n                \"auto_renew\": true,\n                \"starts_at\": null,\n                \"ends_at\": null,\n                \"is_priority_active\": false,\n                \"payments_count\": 0,\n                \"last_payment\": null,\n                \"created_at\": \"2026-11-10T16:07:47+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-2d24-714e-99b8-e40617306542\",\n                \"provider\": {\n                    \"id\": \"01a1c637-2d1e-7079-a3c0-cfec97a24b17\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"account_status\": {\n                        \"value\": \"approved\",\n                        \"label\": \"Approved\"\n                    }\n                },\n                \"plan\": {\n                    \"id\": \"01a1c637-2d24-714e-99b8-e40617f94b75\",\n                    \"name\": \"Sample-cbxe76286235\",\n                    \"priority_level\": 1\n                },\n                \"status\": {\n                    \"value\": \"active\",\n                    \"label\": \"Active\"\n                },\n                \"price\": \"100.00\",\n                \"vat_amount\": \"15.00\",\n                \"total_amount\": \"115.00\",\n                \"auto_renew\": true,\n                \"starts_at\": \"2026-11-09T16:07:47+00:00\",\n                \"ends_at\": \"2026-12-09T16:07:47+00:00\",\n                \"is_priority_active\": true,\n                \"payments_count\": 0,\n                \"last_payment\": null,\n                \"created_at\": \"2026-11-09T16:07:47+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-2d28-709d-982f-3cc125e4340b\",\n                \"provider\": {\n                    \"id\": \"01a1c637-2d21-720a-b47e-bff662980f8c\",\n                    \"display_name\": \"Layla Salon\",\n                    \"account_status\": {\n                        \"value\": \"approved\",\n                        \"label\": \"Approved\"\n                    }\n                },\n                \"plan\": {\n                    \"id\": \"01a1c637-2d29-71be-8560-8a2b47940fc0\",\n                    \"name\": \"Sample-ddpf67544965\",\n                    \"priority_level\": 1\n                },\n                \"status\": {\n                    \"value\": \"expired\",\n                    \"label\": \"Expired\"\n                },\n                \"price\": \"100.00\",\n                \"vat_amount\": \"15.00\",\n                \"total_amount\": \"115.00\",\n                \"auto_renew\": false,\n                \"starts_at\": \"2026-10-01T16:07:47+00:00\",\n                \"ends_at\": \"2026-10-31T16:07:47+00:00\",\n                \"is_priority_active\": false,\n                \"payments_count\": 0,\n                \"last_payment\": null,\n                \"created_at\": \"2026-11-08T16:07:47+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/featured-subscriptions?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/featured-subscriptions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/featured-subscriptions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/featured-subscriptions\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Featured Subscriptions List",
                                            "_joshen": {
                                                "route": "admin.featured-subscriptions.index",
                                                "name": "Featured Subscriptions List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-subscriptions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_list_monitors_subscribers_status_dates_and_filters"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"featured_subscriptions\": [\n            {\n                \"id\": \"01a1c637-2d2c-71da-9c17-2fa69931c663\",\n                \"provider\": {\n                    \"id\": \"01a1c637-2d21-720a-b47e-bff662980f8c\",\n                    \"display_name\": \"Layla Salon\",\n                    \"account_status\": {\n                        \"value\": \"approved\",\n                        \"label\": \"Approved\"\n                    }\n                },\n                \"plan\": {\n                    \"id\": \"01a1c637-2d2c-71da-9c17-2fa699cec69f\",\n                    \"name\": \"Sample-gzqn00718860\",\n                    \"priority_level\": 1\n                },\n                \"status\": {\n                    \"value\": \"payment_failed\",\n                    \"label\": \"Payment failed\"\n                },\n                \"price\": \"100.00\",\n                \"vat_amount\": \"15.00\",\n                \"total_amount\": \"115.00\",\n                \"auto_renew\": true,\n                \"starts_at\": null,\n                \"ends_at\": null,\n                \"is_priority_active\": false,\n                \"payments_count\": 0,\n                \"last_payment\": null,\n                \"created_at\": \"2026-11-10T16:07:47+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-2d24-714e-99b8-e40617306542\",\n                \"provider\": {\n                    \"id\": \"01a1c637-2d1e-7079-a3c0-cfec97a24b17\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"account_status\": {\n                        \"value\": \"approved\",\n                        \"label\": \"Approved\"\n                    }\n                },\n                \"plan\": {\n                    \"id\": \"01a1c637-2d24-714e-99b8-e40617f94b75\",\n                    \"name\": \"Sample-cbxe76286235\",\n                    \"priority_level\": 1\n                },\n                \"status\": {\n                    \"value\": \"active\",\n                    \"label\": \"Active\"\n                },\n                \"price\": \"100.00\",\n                \"vat_amount\": \"15.00\",\n                \"total_amount\": \"115.00\",\n                \"auto_renew\": true,\n                \"starts_at\": \"2026-11-09T16:07:47+00:00\",\n                \"ends_at\": \"2026-12-09T16:07:47+00:00\",\n                \"is_priority_active\": true,\n                \"payments_count\": 0,\n                \"last_payment\": null,\n                \"created_at\": \"2026-11-09T16:07:47+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-2d28-709d-982f-3cc125e4340b\",\n                \"provider\": {\n                    \"id\": \"01a1c637-2d21-720a-b47e-bff662980f8c\",\n                    \"display_name\": \"Layla Salon\",\n                    \"account_status\": {\n                        \"value\": \"approved\",\n                        \"label\": \"Approved\"\n                    }\n                },\n                \"plan\": {\n                    \"id\": \"01a1c637-2d29-71be-8560-8a2b47940fc0\",\n                    \"name\": \"Sample-ddpf67544965\",\n                    \"priority_level\": 1\n                },\n                \"status\": {\n                    \"value\": \"expired\",\n                    \"label\": \"Expired\"\n                },\n                \"price\": \"100.00\",\n                \"vat_amount\": \"15.00\",\n                \"total_amount\": \"115.00\",\n                \"auto_renew\": false,\n                \"starts_at\": \"2026-10-01T16:07:47+00:00\",\n                \"ends_at\": \"2026-10-31T16:07:47+00:00\",\n                \"is_priority_active\": false,\n                \"payments_count\": 0,\n                \"last_payment\": null,\n                \"created_at\": \"2026-11-08T16:07:47+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/featured-subscriptions?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/featured-subscriptions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/featured-subscriptions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/featured-subscriptions\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noor",
                                                            "description": "Partial match on the provider trading name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "active",
                                                            "description": "Subscription status: `active` or `expired` for the BRD view; `payment_failed` / `pending_payment` show attempts that never activated. — `string (enum)`, one of: `pending_payment`, `payment_failed`, `active`, `expired`, `cancelled`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[plan_id]",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Featured plan (`featured_plans`) the provider chose. — `string (uuid)`, a `featured_plans` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[auto_renew]",
                                                            "value": "1",
                                                            "description": "Only subscriptions set to renew (`true`) or not (`false`). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[starts_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest start date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[starts_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest start date, `YYYY-MM-DD`, not before `starts_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[ends_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest end date, `YYYY-MM-DD`; with `ends_to` finds subscriptions about to expire. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[ends_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest end date, `YYYY-MM-DD`, not before `ends_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[starts_at]",
                                                            "value": "asc",
                                                            "description": "Order by start date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[ends_at]",
                                                            "value": "asc",
                                                            "description": "Order by end date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the amount charged including VAT. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noor",
                                                            "description": "Partial match on the provider trading name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "active",
                                                            "description": "Subscription status: `active` or `expired` for the BRD view; `payment_failed` / `pending_payment` show attempts that never activated. — `string (enum)`, one of: `pending_payment`, `payment_failed`, `active`, `expired`, `cancelled`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[plan_id]",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Featured plan (`featured_plans`) the provider chose. — `string (uuid)`, a `featured_plans` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[auto_renew]",
                                                            "value": "1",
                                                            "description": "Only subscriptions set to renew (`true`) or not (`false`). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[starts_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest start date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[starts_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest start date, `YYYY-MM-DD`, not before `starts_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[ends_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest end date, `YYYY-MM-DD`; with `ends_to` finds subscriptions about to expire. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[ends_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest end date, `YYYY-MM-DD`, not before `ends_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[starts_at]",
                                                            "value": "asc",
                                                            "description": "Order by start date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[ends_at]",
                                                            "value": "asc",
                                                            "description": "Order by end date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the amount charged including VAT. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noor",
                                                            "description": "Partial match on the provider trading name. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "active",
                                                            "description": "Subscription status: `active` or `expired` for the BRD view; `payment_failed` / `pending_payment` show attempts that never activated. — `string (enum)`, one of: `pending_payment`, `payment_failed`, `active`, `expired`, `cancelled`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[plan_id]",
                                                            "value": "{{featured_plan_id}}",
                                                            "description": "Featured plan (`featured_plans`) the provider chose. — `string (uuid)`, a `featured_plans` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[auto_renew]",
                                                            "value": "1",
                                                            "description": "Only subscriptions set to renew (`true`) or not (`false`). — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[starts_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest start date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[starts_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest start date, `YYYY-MM-DD`, not before `starts_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[ends_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest end date, `YYYY-MM-DD`; with `ends_to` finds subscriptions about to expire. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[ends_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest end date, `YYYY-MM-DD`, not before `ends_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by creation date; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[starts_at]",
                                                            "value": "asc",
                                                            "description": "Order by start date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[ends_at]",
                                                            "value": "asc",
                                                            "description": "Order by end date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[total_amount]",
                                                            "value": "desc",
                                                            "description": "Order by the amount charged including VAT. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Featured Subscriptions Unsupported Filter",
                                            "_joshen": {
                                                "route": "admin.featured-subscriptions.index",
                                                "name": "Featured Subscriptions Unsupported Filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-subscriptions",
                                                    "query": {
                                                        "filters": {
                                                            "bogus": 1
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_list_monitors_subscribers_status_dates_and_filters"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions?filters[bogus]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[bogus]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): filters.bogus.\",\n    \"data\": {\n        \"errors\": {\n            \"filters\": [\n                \"Unsupported input key(s): filters.bogus.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "featured_subscription_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "featured_plan_id",
                                                "set_by": [
                                                    "admin.featured-plans.index",
                                                    "admin.featured-plans.store",
                                                    "admin.featured-plans.show",
                                                    "admin.featured-plans.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                            },
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"featured_subscription_id\",\"Saved by GET /api/v1/admin/featured-subscriptions, GET /api/v1/admin/featured-subscriptions/{featured_subscription}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"featured_subscription_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/featured-subscriptions/:featured_subscription",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "featured-subscriptions",
                                                ":featured_subscription"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "featured_subscription",
                                                    "value": "{{featured_subscription_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/featured-subscriptions, GET /api/v1/admin/featured-subscriptions/{featured_subscription}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.featured-subscriptions.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{featured_subscription_id}}` — Saved by GET /api/v1/admin/featured-subscriptions, GET /api/v1/admin/featured-subscriptions/{featured_subscription}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `featured_subscription_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Featured Subscription Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Featured Subscription Not Found\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-321d-7148-b67b-dac7d70b1f5f\",\n        \"provider\": {\n            \"id\": \"01a1c637-3220-7383-9e66-71fea4fcf856\",\n            \"display_name\": \"Josianne Gleason\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            }\n        },\n        \"plan\": {\n            \"id\": \"01a1c637-321d-7148-b67b-dac7d71bc2ca\",\n            \"name\": \"Sample-axdc94980883\",\n            \"priority_level\": 1\n        },\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"price\": \"100.00\",\n        \"vat_amount\": \"15.00\",\n        \"total_amount\": \"115.00\",\n        \"auto_renew\": true,\n        \"starts_at\": \"2026-11-09T16:07:48+00:00\",\n        \"ends_at\": \"2026-12-09T16:07:48+00:00\",\n        \"is_priority_active\": false,\n        \"payments_count\": 2,\n        \"last_payment\": {\n            \"id\": \"01a1c637-3227-7162-b982-baf17ed88ae5\",\n            \"method\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"115.00\",\n            \"gateway\": \"simulated\",\n            \"gateway_reference\": \"tx-2\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-10T16:07:48+00:00\",\n            \"created_at\": \"2026-11-10T16:07:48+00:00\"\n        },\n        \"created_at\": \"2026-11-10T16:07:48+00:00\",\n        \"cancelled_at\": null,\n        \"updated_at\": \"2026-11-10T16:07:48+00:00\",\n        \"payments\": [\n            {\n                \"id\": \"01a1c637-3227-7162-b982-baf17ed88ae5\",\n                \"method\": {\n                    \"value\": \"mada\",\n                    \"label\": \"mada\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"115.00\",\n                \"gateway\": \"simulated\",\n                \"gateway_reference\": \"tx-2\",\n                \"failure_reason\": null,\n                \"paid_at\": \"2026-11-10T16:07:48+00:00\",\n                \"created_at\": \"2026-11-10T16:07:48+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-3226-70e5-8439-c1ea5bce9812\",\n                \"method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"status\": {\n                    \"value\": \"failed\",\n                    \"label\": \"Failed\"\n                },\n                \"amount\": \"115.00\",\n                \"gateway\": \"simulated\",\n                \"gateway_reference\": \"tx-1\",\n                \"failure_reason\": \"Simulated payment failure\",\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-10T16:06:48+00:00\"\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Featured Subscription Details",
                                            "_joshen": {
                                                "route": "admin.featured-subscriptions.show",
                                                "name": "Featured Subscription Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-subscriptions/01a1c637-321d-7148-b67b-dac7d70b1f5f",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_details_show_every_payment_attempt_including_failures"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions/01a1c637-321d-7148-b67b-dac7d70b1f5f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions",
                                                        "01a1c637-321d-7148-b67b-dac7d70b1f5f"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-321d-7148-b67b-dac7d70b1f5f\",\n        \"provider\": {\n            \"id\": \"01a1c637-3220-7383-9e66-71fea4fcf856\",\n            \"display_name\": \"Josianne Gleason\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            }\n        },\n        \"plan\": {\n            \"id\": \"01a1c637-321d-7148-b67b-dac7d71bc2ca\",\n            \"name\": \"Sample-axdc94980883\",\n            \"priority_level\": 1\n        },\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"price\": \"100.00\",\n        \"vat_amount\": \"15.00\",\n        \"total_amount\": \"115.00\",\n        \"auto_renew\": true,\n        \"starts_at\": \"2026-11-09T16:07:48+00:00\",\n        \"ends_at\": \"2026-12-09T16:07:48+00:00\",\n        \"is_priority_active\": false,\n        \"payments_count\": 2,\n        \"last_payment\": {\n            \"id\": \"01a1c637-3227-7162-b982-baf17ed88ae5\",\n            \"method\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"115.00\",\n            \"gateway\": \"simulated\",\n            \"gateway_reference\": \"tx-2\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-10T16:07:48+00:00\",\n            \"created_at\": \"2026-11-10T16:07:48+00:00\"\n        },\n        \"created_at\": \"2026-11-10T16:07:48+00:00\",\n        \"cancelled_at\": null,\n        \"updated_at\": \"2026-11-10T16:07:48+00:00\",\n        \"payments\": [\n            {\n                \"id\": \"01a1c637-3227-7162-b982-baf17ed88ae5\",\n                \"method\": {\n                    \"value\": \"mada\",\n                    \"label\": \"mada\"\n                },\n                \"status\": {\n                    \"value\": \"paid\",\n                    \"label\": \"Paid\"\n                },\n                \"amount\": \"115.00\",\n                \"gateway\": \"simulated\",\n                \"gateway_reference\": \"tx-2\",\n                \"failure_reason\": null,\n                \"paid_at\": \"2026-11-10T16:07:48+00:00\",\n                \"created_at\": \"2026-11-10T16:07:48+00:00\"\n            },\n            {\n                \"id\": \"01a1c637-3226-70e5-8439-c1ea5bce9812\",\n                \"method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"status\": {\n                    \"value\": \"failed\",\n                    \"label\": \"Failed\"\n                },\n                \"amount\": \"115.00\",\n                \"gateway\": \"simulated\",\n                \"gateway_reference\": \"tx-1\",\n                \"failure_reason\": \"Simulated payment failure\",\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-10T16:06:48+00:00\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions/:featured_subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions",
                                                        ":featured_subscription"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_subscription",
                                                            "value": "{{featured_subscription_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-subscriptions, GET /api/v1/admin/featured-subscriptions/{featured_subscription}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions/:featured_subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions",
                                                        ":featured_subscription"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_subscription",
                                                            "value": "{{featured_subscription_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-subscriptions, GET /api/v1/admin/featured-subscriptions/{featured_subscription}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions/:featured_subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions",
                                                        ":featured_subscription"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "featured_subscription",
                                                            "value": "{{featured_subscription_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/featured-subscriptions, GET /api/v1/admin/featured-subscriptions/{featured_subscription}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Featured Subscription Not Found",
                                            "_joshen": {
                                                "route": "admin.featured-subscriptions.show",
                                                "name": "Featured Subscription Not Found",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/featured-subscriptions/9",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\FeaturedSubscriptionManagementTest::test_ac_admin_005_details_show_every_payment_attempt_including_failures"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/featured-subscriptions/9",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "featured-subscriptions",
                                                        "9"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "featured_subscription_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "featured_subscription_id",
                                                "set_by": [
                                                    "admin.featured-subscriptions.index",
                                                    "admin.featured-subscriptions.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/featured-subscriptions, GET /api/v1/admin/featured-subscriptions/{featured_subscription}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Registration requests",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"registration_request_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/registration-requests",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "registration-requests"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Fatima",
                                                    "description": "Partial match on the provider trading name or driver name, and on the phone. Identity numbers are never searchable (TD-54). — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[account_type]",
                                                    "value": "provider",
                                                    "description": "Show only provider or only driver requests. — `string (enum)`, one of: `provider`, `driver`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[account_status]",
                                                    "value": "pending_review",
                                                    "description": "Request status. Send `pending_review` for the queue awaiting a decision; `needs_changes` and `rejected` for sent-back requests. Unsubmitted (`incomplete`) accounts are never listed. — `string (enum)`, one of: `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[city_id]",
                                                    "value": "{{governorate_id}}",
                                                    "description": "City of the request (BRD city = base governorate). Unknown uuid gives 422. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[submitted_at]",
                                                    "value": "desc",
                                                    "description": "Order by submission date. Default is newest submission first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by account creation date. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[submitted_from]",
                                                    "value": "2026-10-01",
                                                    "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[submitted_to]",
                                                    "value": "2026-10-31",
                                                    "description": "Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.registration-requests.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the provider trading name or driver name, and on the phone. Identity numbers are never searchable (TD-54). — `string` (optional)\n- `filters[account_type]` — Show only provider or only driver requests. — `string (enum)`, one of: `provider`, `driver` (optional)\n- `filters[account_status]` — Request status. Send `pending_review` for the queue awaiting a decision; `needs_changes` and `rejected` for sent-back requests. Unsubmitted (`incomplete`) accounts are never listed. — `string (enum)`, one of: `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended` (optional)\n- `filters[city_id]` — City of the request (BRD city = base governorate). Unknown uuid gives 422. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `sort[submitted_at]` — Order by submission date. Default is newest submission first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[created_at]` — Order by account creation date. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `filters[submitted_from]` — Earliest submission date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[submitted_to]` — Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)` (optional)\n\n**Variables:**\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `registration_request_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Registration Requests Queue\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Registration Requests Unsupported Filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"registration_requests\": [\n            {\n                \"id\": \"01a17207-e7d6-7348-88f3-baf94bdf260c\",\n                \"account_type\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"name\": \"Christa Gibson\",\n                \"phone_code\": \"966\",\n                \"phone\": \"582021077\",\n                \"city\": null,\n                \"account_status\": {\n                    \"value\": \"needs_changes\",\n                    \"label\": \"Changes required\"\n                },\n                \"submitted_at\": \"2026-10-25T07:48:03+00:00\",\n                \"created_at\": \"2026-10-25T07:48:03+00:00\"\n            },\n            {\n                \"id\": \"01a17207-e7d1-73b7-a0a1-540072c732be\",\n                \"account_type\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Service provider\"\n                },\n                \"name\": \"Noor Beauty\",\n                \"phone_code\": \"966\",\n                \"phone\": \"546689459\",\n                \"city\": {\n                    \"id\": \"01a17207-e7c9-705d-908a-d5933b407b70\",\n                    \"name\": \"Sample-hzwe38417128\"\n                },\n                \"account_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"submitted_at\": \"2026-10-24T07:48:03+00:00\",\n                \"created_at\": \"2026-10-25T07:48:03+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/registration-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/registration-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/registration-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/registration-requests\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Registration Requests Queue",
                                            "_joshen": {
                                                "route": "admin.registration-requests.index",
                                                "name": "Registration Requests Queue",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_queue_lists_submitted_providers_and_drivers_together"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"registration_requests\": [\n            {\n                \"id\": \"01a17207-e7d6-7348-88f3-baf94bdf260c\",\n                \"account_type\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"name\": \"Christa Gibson\",\n                \"phone_code\": \"966\",\n                \"phone\": \"582021077\",\n                \"city\": null,\n                \"account_status\": {\n                    \"value\": \"needs_changes\",\n                    \"label\": \"Changes required\"\n                },\n                \"submitted_at\": \"2026-10-25T07:48:03+00:00\",\n                \"created_at\": \"2026-10-25T07:48:03+00:00\"\n            },\n            {\n                \"id\": \"01a17207-e7d1-73b7-a0a1-540072c732be\",\n                \"account_type\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Service provider\"\n                },\n                \"name\": \"Noor Beauty\",\n                \"phone_code\": \"966\",\n                \"phone\": \"546689459\",\n                \"city\": {\n                    \"id\": \"01a17207-e7c9-705d-908a-d5933b407b70\",\n                    \"name\": \"Sample-hzwe38417128\"\n                },\n                \"account_status\": {\n                    \"value\": \"pending_review\",\n                    \"label\": \"Pending review\"\n                },\n                \"submitted_at\": \"2026-10-24T07:48:03+00:00\",\n                \"created_at\": \"2026-10-25T07:48:03+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/registration-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/registration-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/registration-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/registration-requests\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Fatima",
                                                            "description": "Partial match on the provider trading name or driver name, and on the phone. Identity numbers are never searchable (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_type]",
                                                            "value": "provider",
                                                            "description": "Show only provider or only driver requests. — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "pending_review",
                                                            "description": "Request status. Send `pending_review` for the queue awaiting a decision; `needs_changes` and `rejected` for sent-back requests. Unsubmitted (`incomplete`) accounts are never listed. — `string (enum)`, one of: `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "City of the request (BRD city = base governorate). Unknown uuid gives 422. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "desc",
                                                            "description": "Order by submission date. Default is newest submission first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by account creation date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Fatima",
                                                            "description": "Partial match on the provider trading name or driver name, and on the phone. Identity numbers are never searchable (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_type]",
                                                            "value": "provider",
                                                            "description": "Show only provider or only driver requests. — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "pending_review",
                                                            "description": "Request status. Send `pending_review` for the queue awaiting a decision; `needs_changes` and `rejected` for sent-back requests. Unsubmitted (`incomplete`) accounts are never listed. — `string (enum)`, one of: `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "City of the request (BRD city = base governorate). Unknown uuid gives 422. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "desc",
                                                            "description": "Order by submission date. Default is newest submission first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by account creation date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Fatima",
                                                            "description": "Partial match on the provider trading name or driver name, and on the phone. Identity numbers are never searchable (TD-54). — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_type]",
                                                            "value": "provider",
                                                            "description": "Show only provider or only driver requests. — `string (enum)`, one of: `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[account_status]",
                                                            "value": "pending_review",
                                                            "description": "Request status. Send `pending_review` for the queue awaiting a decision; `needs_changes` and `rejected` for sent-back requests. Unsubmitted (`incomplete`) accounts are never listed. — `string (enum)`, one of: `pending_review`, `needs_changes`, `approved`, `rejected`, `suspended`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "City of the request (BRD city = base governorate). Unknown uuid gives 422. — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[submitted_at]",
                                                            "value": "desc",
                                                            "description": "Order by submission date. Default is newest submission first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by account creation date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_from]",
                                                            "value": "2026-10-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[submitted_to]",
                                                            "value": "2026-10-31",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `submitted_from`. — `string (date)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Registration Requests Unsupported Filter",
                                            "_joshen": {
                                                "route": "admin.registration-requests.index",
                                                "name": "Registration Requests Unsupported Filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests",
                                                    "query": {
                                                        "filters": {
                                                            "bogus": 1
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_queue_filters_searches_and_sorts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests?filters[bogus]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[bogus]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): filters.bogus.\",\n    \"data\": {\n        \"errors\": {\n            \"filters\": [\n                \"Unsupported input key(s): filters.bogus.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "registration_request_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"registration_request_id\",\"Saved by GET /api/v1/admin/registration-requests.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "registration-requests",
                                                ":type",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "type",
                                                    "value": "{{registration_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                },
                                                {
                                                    "key": "id",
                                                    "value": "{{{type}_id}}",
                                                    "description": "Record uuid. Not saved by any request; enter it by hand."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.registration-requests.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{registration_request_id}}` — Saved by GET /api/v1/admin/registration-requests.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Registration Request Driver Details\n- `200` Registration Request Provider Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ea83-7003-9d59-215617c74879\",\n        \"full_name\": \"Tyshawn Lakin\",\n        \"phone_code\": \"966\",\n        \"phone\": \"568872152\",\n        \"nationality\": null,\n        \"city\": null,\n        \"districts_count\": 0,\n        \"vehicle\": {\n            \"id\": \"01a17207-ea8b-7281-8e88-940deb5bd99c\",\n            \"type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"model_year\": null,\n            \"color\": null,\n            \"plate_number\": \"CAR-mmvu65849553\",\n            \"is_active\": true\n        },\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_online\": false,\n        \"location_updated_at\": null,\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_trips_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:48:03+00:00\",\n        \"created_at\": \"2026-10-25T07:48:03+00:00\",\n        \"user_id\": \"01a17207-ea83-7003-9d59-215617de9a34\",\n        \"birth_date\": null,\n        \"national_id\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": null,\n        \"approved_by\": null,\n        \"image\": null,\n        \"districts\": [],\n        \"current_location\": null,\n        \"vehicles\": [\n            {\n                \"id\": \"01a17207-ea8b-7281-8e88-940deb5bd99c\",\n                \"type\": {\n                    \"value\": \"car\",\n                    \"label\": \"Car\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"CAR-mmvu65849553\",\n                \"is_active\": true\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-ea89-72c1-8190-62cd9f9169dc\",\n                \"type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-ea88-716d-99f4-92d98d4c75de\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-ea86-7048-823e-13ca69c2356d\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [],\n        \"updated_at\": \"2026-10-25T07:48:03+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Registration Request Driver Details",
                                            "_joshen": {
                                                "route": "admin.registration-requests.show",
                                                "name": "Registration Request Driver Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests/driver/01a17207-ea83-7003-9d59-215617c74879",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_request_opens_with_documents_consents_and_vehicle"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/driver/01a17207-ea83-7003-9d59-215617c74879",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        "driver",
                                                        "01a17207-ea83-7003-9d59-215617c74879"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ea83-7003-9d59-215617c74879\",\n        \"full_name\": \"Tyshawn Lakin\",\n        \"phone_code\": \"966\",\n        \"phone\": \"568872152\",\n        \"nationality\": null,\n        \"city\": null,\n        \"districts_count\": 0,\n        \"vehicle\": {\n            \"id\": \"01a17207-ea8b-7281-8e88-940deb5bd99c\",\n            \"type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"model_year\": null,\n            \"color\": null,\n            \"plate_number\": \"CAR-mmvu65849553\",\n            \"is_active\": true\n        },\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_online\": false,\n        \"location_updated_at\": null,\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_trips_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:48:03+00:00\",\n        \"created_at\": \"2026-10-25T07:48:03+00:00\",\n        \"user_id\": \"01a17207-ea83-7003-9d59-215617de9a34\",\n        \"birth_date\": null,\n        \"national_id\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": null,\n        \"approved_by\": null,\n        \"image\": null,\n        \"districts\": [],\n        \"current_location\": null,\n        \"vehicles\": [\n            {\n                \"id\": \"01a17207-ea8b-7281-8e88-940deb5bd99c\",\n                \"type\": {\n                    \"value\": \"car\",\n                    \"label\": \"Car\"\n                },\n                \"make_model\": \"Toyota Yaris\",\n                \"model_year\": null,\n                \"color\": null,\n                \"plate_number\": \"CAR-mmvu65849553\",\n                \"is_active\": true\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-ea89-72c1-8190-62cd9f9169dc\",\n                \"type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-ea88-716d-99f4-92d98d4c75de\",\n                \"type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-ea86-7048-823e-13ca69c2356d\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [],\n        \"updated_at\": \"2026-10-25T07:48:03+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Registration Request Provider Details",
                                            "_joshen": {
                                                "route": "admin.registration-requests.show",
                                                "name": "Registration Request Provider Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests/provider/01a17207-ea79-72e3-8eeb-10c7dde10a63",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_request_opens_with_documents_consents_and_vehicle"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/provider/01a17207-ea79-72e3-8eeb-10c7dde10a63",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        "provider",
                                                        "01a17207-ea79-72e3-8eeb-10c7dde10a63"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ea79-72e3-8eeb-10c7dde10a63\",\n        \"display_name\": \"Miss Fabiola Romaguera\",\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"phone_code\": \"966\",\n        \"phone\": \"599251944\",\n        \"city\": null,\n        \"service_radius_km\": 10,\n        \"districts_count\": 0,\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"is_featured\": false,\n        \"featured_status\": {\n            \"value\": \"not_subscribed\",\n            \"label\": \"Not subscribed\"\n        },\n        \"rating_avg\": null,\n        \"rating_count\": 0,\n        \"completed_orders_count\": 0,\n        \"submitted_at\": \"2026-10-25T07:48:03+00:00\",\n        \"created_at\": \"2026-10-25T07:48:03+00:00\",\n        \"user_id\": \"01a17207-ea79-72e3-8eeb-10c7de8795e0\",\n        \"bio\": null,\n        \"professional_title\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"authorized_person\": {\n            \"name\": null,\n            \"phone\": null\n        },\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"status_reason\": null,\n        \"consents\": {\n            \"female_declared_at\": null,\n            \"terms_accepted_at\": null,\n            \"privacy_accepted_at\": null\n        },\n        \"approved_at\": null,\n        \"approved_by\": null,\n        \"instant_terms_ack_at\": null,\n        \"coverage\": {\n            \"base_lat\": null,\n            \"base_lng\": null,\n            \"service_radius_km\": 10,\n            \"districts\": []\n        },\n        \"image\": null,\n        \"portfolio\": [],\n        \"working_hours\": [],\n        \"time_off\": [],\n        \"documents\": [\n            {\n                \"id\": \"01a17207-ea81-73ed-b46d-db3f76c9756a\",\n                \"type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-ea7f-7203-9678-b327d52841c5\",\n                \"type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            },\n            {\n                \"id\": \"01a17207-ea7d-7225-9da9-2b500894a624\",\n                \"type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"doc_number\": null,\n                \"expires_at\": null,\n                \"file_url\": \"http://localhost/storage/demo/placeholder.jpg\"\n            }\n        ],\n        \"main_services\": [],\n        \"priced_services\": [],\n        \"packages\": [],\n        \"payout_account\": null,\n        \"change_requests\": [],\n        \"review_history\": [],\n        \"updated_at\": \"2026-10-25T07:48:03+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "registration_request_id",
                                                "set_by": [
                                                    "admin.registration-requests.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/registration-requests."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Approve",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"registration_request_id\",\"Saved by GET /api/v1/admin/registration-requests.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/approve",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "registration-requests",
                                                ":type",
                                                ":id",
                                                "approve"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "type",
                                                    "value": "{{registration_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                },
                                                {
                                                    "key": "id",
                                                    "value": "{{{type}_id}}",
                                                    "description": "Record uuid. Not saved by any request; enter it by hand."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.registration-requests.approve`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{registration_request_id}}` — Saved by GET /api/v1/admin/registration-requests.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Registration Request Approved\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Registration Request Approval Missing Documents — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ecfb-7033-9398-b5d11ba226c0\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:48:04+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Registration Request Approved",
                                            "_joshen": {
                                                "route": "admin.registration-requests.approve",
                                                "name": "Registration Request Approved",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests/provider/01a17207-ecfb-7033-9398-b5d11ba226c0/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_admin_approves_rejects_or_asks_for_corrections"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/provider/01a17207-ecfb-7033-9398-b5d11ba226c0/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        "provider",
                                                        "01a17207-ecfb-7033-9398-b5d11ba226c0",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ecfb-7033-9398-b5d11ba226c0\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"approved_at\": \"2026-10-25T07:48:04+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Registration Request Approval Missing Documents",
                                            "_joshen": {
                                                "route": "admin.registration-requests.approve",
                                                "name": "Registration Request Approval Missing Documents",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests/provider/01a17207-eea0-73f2-b5c4-2c32a00014f8/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_invalid_decisions_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/provider/01a17207-eea0-73f2-b5c4-2c32a00014f8/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        "provider",
                                                        "01a17207-eea0-73f2-b5c4-2c32a00014f8",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Approval requires: National ID / iqama, Professional certificate, Health certificate.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Approval requires: National ID / iqama, Professional certificate, Health certificate.\"\n            ]\n        },\n        \"correlation_id\": \"a4652424-2d1d-4845-b61b-764b6026317c\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "registration_request_id",
                                                "set_by": [
                                                    "admin.registration-requests.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/registration-requests."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"registration_request_id\",\"Saved by GET /api/v1/admin/registration-requests.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "registration-requests",
                                                ":type",
                                                ":id",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "type",
                                                    "value": "{{registration_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                },
                                                {
                                                    "key": "id",
                                                    "value": "{{{type}_id}}",
                                                    "description": "Record uuid. Not saved by any request; enter it by hand."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.registration-requests.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Please upload a clear photo of your national ID`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{registration_request_id}}` — Saved by GET /api/v1/admin/registration-requests.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Registration Request Rejected\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Registration Request Rejection Without Reason\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ed13-73e1-904f-1e926ed7fa35\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Not eligible\",\n        \"approved_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Registration Request Rejected",
                                            "_joshen": {
                                                "route": "admin.registration-requests.reject",
                                                "name": "Registration Request Rejected",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests/driver/01a17207-ed13-73e1-904f-1e926ed7fa35/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Not eligible"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_admin_approves_rejects_or_asks_for_corrections"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/driver/01a17207-ed13-73e1-904f-1e926ed7fa35/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        "driver",
                                                        "01a17207-ed13-73e1-904f-1e926ed7fa35",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Not eligible\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ed13-73e1-904f-1e926ed7fa35\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Not eligible\",\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Registration Request Rejection Without Reason",
                                            "_joshen": {
                                                "route": "admin.registration-requests.reject",
                                                "name": "Registration Request Rejection Without Reason",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests/provider/01a17207-eea0-73f2-b5c4-2c32a00014f8/reject",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_invalid_decisions_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/provider/01a17207-eea0-73f2-b5c4-2c32a00014f8/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        "provider",
                                                        "01a17207-eea0-73f2-b5c4-2c32a00014f8",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "registration_request_id",
                                                "set_by": [
                                                    "admin.registration-requests.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/registration-requests."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Request Changes",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"registration_request_id\",\"Saved by GET /api/v1/admin/registration-requests.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/request-changes",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "registration-requests",
                                                ":type",
                                                ":id",
                                                "request-changes"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "type",
                                                    "value": "{{registration_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                },
                                                {
                                                    "key": "id",
                                                    "value": "{{{type}_id}}",
                                                    "description": "Record uuid. Not saved by any request; enter it by hand."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.registration-requests.request-changes`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Why the account is rejected, sent back for changes, or suspended. Shown to the provider/driver as `status_reason` and saved on the review event. Required for reject, request-changes and suspend; refused on approve and reactivate.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Please upload a clear photo of your national ID`\n- **Validation rules:** `required|string|max:500`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n### `note`\n- **Description:** Optional internal note saved on the reactivation event. Accepted on reactivate only.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{registration_request_id}}` — Saved by GET /api/v1/admin/registration-requests.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Registration Request Changes Requested\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Registration Request Changes Without Reason\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ed06-723e-be42-068dd1287827\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Licence photo is blurred\",\n        \"approved_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Registration Request Changes Requested",
                                            "_joshen": {
                                                "route": "admin.registration-requests.request-changes",
                                                "name": "Registration Request Changes Requested",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests/driver/01a17207-ed06-723e-be42-068dd1287827/request-changes",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Licence photo is blurred"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_admin_approves_rejects_or_asks_for_corrections"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/driver/01a17207-ed06-723e-be42-068dd1287827/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        "driver",
                                                        "01a17207-ed06-723e-be42-068dd1287827",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Licence photo is blurred\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-ed06-723e-be42-068dd1287827\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Licence photo is blurred\",\n        \"approved_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/:type/:id/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        ":type",
                                                        ":id",
                                                        "request-changes"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "type",
                                                            "value": "{{registration_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/registration-requests."
                                                        },
                                                        {
                                                            "key": "id",
                                                            "value": "{{{type}_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please upload a clear photo of your national ID\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Registration Request Changes Without Reason",
                                            "_joshen": {
                                                "route": "admin.registration-requests.request-changes",
                                                "name": "Registration Request Changes Without Reason",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/registration-requests/provider/01a17207-eea0-73f2-b5c4-2c32a00014f8/request-changes",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RegistrationRequestTest::test_ac_admin_007_invalid_decisions_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/registration-requests/provider/01a17207-eea0-73f2-b5c4-2c32a00014f8/request-changes",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "registration-requests",
                                                        "provider",
                                                        "01a17207-eea0-73f2-b5c4-2c32a00014f8",
                                                        "request-changes"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "registration_request_id",
                                                "set_by": [
                                                    "admin.registration-requests.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/registration-requests."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Category requests",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"category_request_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/category-requests",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "category-requests"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "Noor",
                                                    "description": "Partial match on the provider trading name and phone. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "requested",
                                                    "description": "Review status of the request: `requested` awaits a decision. Registration categories are approved with the account and are not listed here (TD-60). — `string (enum)`, one of: `requested`, `approved`, `rejected`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[category_id]",
                                                    "value": "{{category_id}}",
                                                    "description": "Main category (`categories`, BRD main service) being requested. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[provider_id]",
                                                    "value": "{{provider_id}}",
                                                    "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "asc",
                                                    "description": "Order by request date. Default is oldest request first so the queue is worked in order. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[reviewed_at]",
                                                    "value": "desc",
                                                    "description": "Order by decision date. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.category-requests.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the provider trading name and phone. — `string` (optional)\n- `filters[status]` — Review status of the request: `requested` awaits a decision. Registration categories are approved with the account and are not listed here (TD-60). — `string (enum)`, one of: `requested`, `approved`, `rejected` (optional)\n- `filters[category_id]` — Main category (`categories`, BRD main service) being requested. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19) (optional)\n- `filters[provider_id]` — Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19) (optional)\n- `sort[created_at]` — Order by request date. Default is oldest request first so the queue is worked in order. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[reviewed_at]` — Order by decision date. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `category_request_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Category Requests Queue\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Category Requests Invalid Status Filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"category_requests\": [\n            {\n                \"id\": \"01a17207-07d3-719f-a086-b1fe5199c4a0\",\n                \"provider\": {\n                    \"id\": \"01a17207-07d0-736d-94e1-0d0e09d5fb63\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"529634768\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-07d3-719f-a086-b1fe51f2f53b\",\n                    \"name\": \"Sample-ewxo33670347\"\n                },\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"is_enabled\": true,\n                \"reviewed_by\": null,\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-24T07:47:05+00:00\"\n            },\n            {\n                \"id\": \"01a17207-07d7-7147-8f6b-6b40b447aae1\",\n                \"provider\": {\n                    \"id\": \"01a17207-07d0-736d-94e1-0d0e09d5fb63\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"529634768\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-07d7-7147-8f6b-6b40b49c1b4c\",\n                    \"name\": \"Sample-cyhr29000561\"\n                },\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"is_enabled\": true,\n                \"reviewed_by\": null,\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-25T07:47:05+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/category-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/category-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/category-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/category-requests\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Category Requests Queue",
                                            "_joshen": {
                                                "route": "admin.category-requests.index",
                                                "name": "Category Requests Queue",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/category-requests",
                                                    "query": {
                                                        "filters": {
                                                            "status": "requested"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CategoryRequestTest::test_ac_prov_009_queue_lists_extra_requests_of_approved_providers_oldest_first"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests?filters[status]=requested",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "requested"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"category_requests\": [\n            {\n                \"id\": \"01a17207-07d3-719f-a086-b1fe5199c4a0\",\n                \"provider\": {\n                    \"id\": \"01a17207-07d0-736d-94e1-0d0e09d5fb63\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"529634768\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-07d3-719f-a086-b1fe51f2f53b\",\n                    \"name\": \"Sample-ewxo33670347\"\n                },\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"is_enabled\": true,\n                \"reviewed_by\": null,\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-24T07:47:05+00:00\"\n            },\n            {\n                \"id\": \"01a17207-07d7-7147-8f6b-6b40b447aae1\",\n                \"provider\": {\n                    \"id\": \"01a17207-07d0-736d-94e1-0d0e09d5fb63\",\n                    \"display_name\": \"Noor Beauty\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"529634768\"\n                },\n                \"category\": {\n                    \"id\": \"01a17207-07d7-7147-8f6b-6b40b49c1b4c\",\n                    \"name\": \"Sample-cyhr29000561\"\n                },\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"is_enabled\": true,\n                \"reviewed_by\": null,\n                \"reviewed_at\": null,\n                \"created_at\": \"2026-10-25T07:47:05+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/category-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/category-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/category-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/category-requests\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noor",
                                                            "description": "Partial match on the provider trading name and phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "requested",
                                                            "description": "Review status of the request: `requested` awaits a decision. Registration categories are approved with the account and are not listed here (TD-60). — `string (enum)`, one of: `requested`, `approved`, `rejected`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Main category (`categories`, BRD main service) being requested. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by request date. Default is oldest request first so the queue is worked in order. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[reviewed_at]",
                                                            "value": "desc",
                                                            "description": "Order by decision date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noor",
                                                            "description": "Partial match on the provider trading name and phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "requested",
                                                            "description": "Review status of the request: `requested` awaits a decision. Registration categories are approved with the account and are not listed here (TD-60). — `string (enum)`, one of: `requested`, `approved`, `rejected`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Main category (`categories`, BRD main service) being requested. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by request date. Default is oldest request first so the queue is worked in order. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[reviewed_at]",
                                                            "value": "desc",
                                                            "description": "Order by decision date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "Noor",
                                                            "description": "Partial match on the provider trading name and phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "requested",
                                                            "description": "Review status of the request: `requested` awaits a decision. Registration categories are approved with the account and are not listed here (TD-60). — `string (enum)`, one of: `requested`, `approved`, `rejected`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[category_id]",
                                                            "value": "{{category_id}}",
                                                            "description": "Main category (`categories`, BRD main service) being requested. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[provider_id]",
                                                            "value": "{{provider_id}}",
                                                            "description": "Provider profile uuid (`providers`). — `string (uuid)`, a `providers` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by request date. Default is oldest request first so the queue is worked in order. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[reviewed_at]",
                                                            "value": "desc",
                                                            "description": "Order by decision date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category Requests Invalid Status Filter",
                                            "_joshen": {
                                                "route": "admin.category-requests.index",
                                                "name": "Category Requests Invalid Status Filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/category-requests",
                                                    "query": {
                                                        "filters": {
                                                            "status": "maybe"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CategoryRequestTest::test_ac_prov_009_queue_lists_extra_requests_of_approved_providers_oldest_first"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests?filters[status]=maybe",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "maybe"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "category_request_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Approve",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_request_id\",\"Saved by GET /api/v1/admin/category-requests.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/category-requests/:id/approve",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "category-requests",
                                                ":id",
                                                "approve"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{category_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/category-requests."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.category-requests.approve`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Optional explanation sent to the provider in her in-app notice when the request is rejected. Not stored on the assignment (the schema has no reason column); kept in the audit trail. Refused on approve.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{category_request_id}}` — Saved by GET /api/v1/admin/category-requests.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Category Request Approved\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Category Request Already Reviewed — `error_code: INVALID_STATE_TRANSITION`\n- `422` Category Request Approve With A Reason\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-093b-73ae-a848-fea93480c023\",\n        \"provider\": {\n            \"id\": \"01a17207-0937-715f-b206-7380588ffa92\",\n            \"display_name\": \"Lilian Brakus\",\n            \"phone_code\": \"966\",\n            \"phone\": \"523866642\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-093b-73ae-a848-fea934a8f443\",\n            \"name\": \"Sample-xahu02147951\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_enabled\": true,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-0933-737e-9b0f-a68023fce350\",\n            \"name\": \"Mr. Chance Baumbach\"\n        },\n        \"reviewed_at\": \"2026-10-25T07:47:06+00:00\",\n        \"created_at\": \"2026-10-25T07:47:06+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Category Request Approved",
                                            "_joshen": {
                                                "route": "admin.category-requests.approve",
                                                "name": "Category Request Approved",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/category-requests/01a17207-093b-73ae-a848-fea93480c023/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CategoryRequestTest::test_ac_prov_009_admin_approval_enables_the_category_and_notifies_the_provider"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/01a17207-093b-73ae-a848-fea93480c023/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        "01a17207-093b-73ae-a848-fea93480c023",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-093b-73ae-a848-fea93480c023\",\n        \"provider\": {\n            \"id\": \"01a17207-0937-715f-b206-7380588ffa92\",\n            \"display_name\": \"Lilian Brakus\",\n            \"phone_code\": \"966\",\n            \"phone\": \"523866642\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-093b-73ae-a848-fea934a8f443\",\n            \"name\": \"Sample-xahu02147951\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_enabled\": true,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-0933-737e-9b0f-a68023fce350\",\n            \"name\": \"Mr. Chance Baumbach\"\n        },\n        \"reviewed_at\": \"2026-10-25T07:47:06+00:00\",\n        \"created_at\": \"2026-10-25T07:47:06+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{category_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/category-requests."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{category_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/category-requests."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/:id/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        ":id",
                                                        "approve"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{category_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/category-requests."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Category Request Already Reviewed",
                                            "_joshen": {
                                                "route": "admin.category-requests.approve",
                                                "name": "Category Request Already Reviewed",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/category-requests/01a17207-0a90-72f7-a984-204b197f2b29/approve",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CategoryRequestTest::test_ac_prov_009_rejection_carries_an_optional_reason_and_is_final"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/01a17207-0a90-72f7-a984-204b197f2b29/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        "01a17207-0a90-72f7-a984-204b197f2b29",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This category request was already reviewed, or the provider account is not approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"28e1b595-66e1-4024-b0f5-d2a16047aded\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category Request Approve With A Reason",
                                            "_joshen": {
                                                "route": "admin.category-requests.approve",
                                                "name": "Category Request Approve With A Reason",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/category-requests/01a17207-0bce-72ee-be9d-58beecce2067/approve",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "x"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CategoryRequestTest::test_ac_prov_009_only_rejections_take_a_reason_and_unknown_requests_are_404"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/01a17207-0bce-72ee-be9d-58beecce2067/approve",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        "01a17207-0bce-72ee-be9d-58beecce2067",
                                                        "approve"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"x\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field is prohibited.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field is prohibited.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "category_request_id",
                                                "set_by": [
                                                    "admin.category-requests.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/category-requests."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_request_id\",\"Saved by GET /api/v1/admin/category-requests.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/category-requests/:id/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "category-requests",
                                                ":id",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{category_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/category-requests."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.category-requests.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Optional explanation sent to the provider in her in-app notice when the request is rejected. Not stored on the assignment (the schema has no reason column); kept in the audit trail. Refused on approve.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Please send a certificate for this service first`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{category_request_id}}` — Saved by GET /api/v1/admin/category-requests.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Category Request Rejected\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Category Request Reason Too Long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-0a90-72f7-a984-204b197f2b29\",\n        \"provider\": {\n            \"id\": \"01a17207-0a89-71e7-ada1-3b25c5adae77\",\n            \"display_name\": \"Dr. Rachelle Kautzer Sr.\",\n            \"phone_code\": \"966\",\n            \"phone\": \"594330760\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-0a90-72f7-a984-204b19e668dc\",\n            \"name\": \"Sample-pxbv94359568\"\n        },\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"is_enabled\": true,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-0a85-700e-88bc-385c10f33d50\",\n            \"name\": \"Ms. Meaghan Fadel\"\n        },\n        \"reviewed_at\": \"2026-10-25T07:47:06+00:00\",\n        \"created_at\": \"2026-10-25T07:47:06+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Please send a certificate for this service first\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Category Request Rejected",
                                            "_joshen": {
                                                "route": "admin.category-requests.reject",
                                                "name": "Category Request Rejected",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/category-requests/01a17207-0a90-72f7-a984-204b197f2b29/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Send a certificate first"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CategoryRequestTest::test_ac_prov_009_rejection_carries_an_optional_reason_and_is_final"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/01a17207-0a90-72f7-a984-204b197f2b29/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        "01a17207-0a90-72f7-a984-204b197f2b29",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Send a certificate first\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17207-0a90-72f7-a984-204b197f2b29\",\n        \"provider\": {\n            \"id\": \"01a17207-0a89-71e7-ada1-3b25c5adae77\",\n            \"display_name\": \"Dr. Rachelle Kautzer Sr.\",\n            \"phone_code\": \"966\",\n            \"phone\": \"594330760\"\n        },\n        \"category\": {\n            \"id\": \"01a17207-0a90-72f7-a984-204b19e668dc\",\n            \"name\": \"Sample-pxbv94359568\"\n        },\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"is_enabled\": true,\n        \"reviewed_by\": {\n            \"id\": \"01a17207-0a85-700e-88bc-385c10f33d50\",\n            \"name\": \"Ms. Meaghan Fadel\"\n        },\n        \"reviewed_at\": \"2026-10-25T07:47:06+00:00\",\n        \"created_at\": \"2026-10-25T07:47:06+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{category_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/category-requests."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please send a certificate for this service first\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{category_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/category-requests."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please send a certificate for this service first\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/:id/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        ":id",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{category_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/category-requests."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Please send a certificate for this service first\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category Request Reason Too Long",
                                            "_joshen": {
                                                "route": "admin.category-requests.reject",
                                                "name": "Category Request Reason Too Long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/category-requests/01a17207-0bce-72ee-be9d-58beecce2067/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CategoryRequestTest::test_ac_prov_009_only_rejections_take_a_reason_and_unknown_requests_are_404"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/category-requests/01a17207-0bce-72ee-be9d-58beecce2067/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "category-requests",
                                                        "01a17207-0bce-72ee-be9d-58beecce2067",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "category_request_id",
                                                "set_by": [
                                                    "admin.category-requests.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/category-requests."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Support tickets",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"user_id\",\"Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"support_ticket_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/support-tickets",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "support-tickets"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "SUP-1001",
                                                    "description": "Partial match on the ticket code (`SUP-1001`), or the requester's name or phone. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[app]",
                                                    "value": "driver",
                                                    "description": "Who sent it: `customer`, `provider` or `driver` (ADMIN-026). — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "under_review",
                                                    "description": "Request status: under_review, replied or closed (DEC-21). — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[priority]",
                                                    "value": "urgent",
                                                    "description": "Priority: `normal`, or `urgent` when the reason is urgent. — `string (enum)`, one of: `normal`, `urgent`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[reason_id]",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "Contact or complaint reason (uuid from `support_reasons`). — `string (uuid)`, a `support_reasons` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[assigned_admin_id]",
                                                    "value": "{{user_id}}",
                                                    "description": "Admin (user uuid) the request is assigned to. — `string (uuid)`, a `users` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2026-11-01",
                                                    "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2026-11-30",
                                                    "description": "Latest submission date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Order by submission time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[priority]",
                                                    "value": "desc",
                                                    "description": "Order by priority (urgent sorts after normal when ascending). — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[status]",
                                                    "value": "asc",
                                                    "description": "Order by status. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.support-tickets.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the ticket code (`SUP-1001`), or the requester's name or phone. — `string` (optional)\n- `filters[app]` — Who sent it: `customer`, `provider` or `driver` (ADMIN-026). — `string (enum)`, one of: `customer`, `provider`, `driver` (optional)\n- `filters[status]` — Request status: under_review, replied or closed (DEC-21). — `string (enum)`, one of: `under_review`, `replied`, `closed` (optional)\n- `filters[priority]` — Priority: `normal`, or `urgent` when the reason is urgent. — `string (enum)`, one of: `normal`, `urgent` (optional)\n- `filters[reason_id]` — Contact or complaint reason (uuid from `support_reasons`). — `string (uuid)`, a `support_reasons` record — send its uuid `id` (TD-19) (optional)\n- `filters[assigned_admin_id]` — Admin (user uuid) the request is assigned to. — `string (uuid)`, a `users` record — send its uuid `id` (TD-19) (optional)\n- `filters[created_from]` — Earliest submission date, `YYYY-MM-DD`. — `string (date)` (optional)\n- `filters[created_to]` — Latest submission date, `YYYY-MM-DD`, not before `created_from`. — `string (date)` (optional)\n- `sort[created_at]` — Order by submission time; default newest first. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[priority]` — Order by priority (urgent sorts after normal when ascending). — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[status]` — Order by status. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{user_id}}` — Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `support_ticket_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Support Tickets List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Support Tickets List Invalid App\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"tickets\": [\n            {\n                \"id\": \"01a1bb7a-39b4-72e0-b446-4954c16f4fb8\",\n                \"code\": \"SUP-fmdr49343561\",\n                \"app\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"user\": {\n                    \"id\": \"01a1bb7a-39ac-7337-acf3-5ed95689f3f5\",\n                    \"full_name\": \"Americo Greenholt V\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"562856845\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1bb7a-39b2-72e4-96ae-77ca30476ee4\",\n                    \"label\": \"Sample-tmex12043172\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"status\": {\n                    \"value\": \"replied\",\n                    \"label\": \"Replied\"\n                },\n                \"assignee\": {\n                    \"id\": \"01a1bb7a-398b-7341-a6f8-16413ae91f29\",\n                    \"full_name\": \"Emma Harris\"\n                },\n                \"order\": null,\n                \"trip\": null,\n                \"created_at\": \"2026-11-08T14:05:11+00:00\",\n                \"closed_at\": null\n            },\n            {\n                \"id\": \"01a1bb7a-39a9-716e-9bbc-16a8561a4e01\",\n                \"code\": \"SUP-aiam46745016\",\n                \"app\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"user\": {\n                    \"id\": \"01a1bb7a-39a1-72c6-87b7-63d5f3ba774c\",\n                    \"full_name\": \"Jennyfer Macejkovic\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"583568427\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1bb7a-39a5-70fc-890b-ec5b33aa88b0\",\n                    \"label\": \"Sample-gsjj15052042\"\n                },\n                \"priority\": {\n                    \"value\": \"urgent\",\n                    \"label\": \"Urgent\"\n                },\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"assignee\": null,\n                \"order\": null,\n                \"trip\": null,\n                \"created_at\": \"2026-11-08T14:05:11+00:00\",\n                \"closed_at\": null\n            },\n            {\n                \"id\": \"01a1bb7a-399f-72f4-9edf-e9edc0dfab64\",\n                \"code\": \"SUP-rxvk04569074\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"user\": {\n                    \"id\": \"01a1bb7a-3992-70b4-b673-b497cc7daca3\",\n                    \"full_name\": \"Wyatt King\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"513783535\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1bb7a-3999-7116-8fd4-e13f7f0a10fc\",\n                    \"label\": \"Sample-uosq30261626\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"assignee\": null,\n                \"order\": null,\n                \"trip\": null,\n                \"created_at\": \"2026-11-08T14:05:11+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/support-tickets?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/support-tickets?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/support-tickets\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Support Tickets List",
                                            "_joshen": {
                                                "route": "admin.support-tickets.index",
                                                "name": "Support Tickets List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_list_filters_by_app_status_priority_reason_assignee_and_date"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"tickets\": [\n            {\n                \"id\": \"01a1bb7a-39b4-72e0-b446-4954c16f4fb8\",\n                \"code\": \"SUP-fmdr49343561\",\n                \"app\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"user\": {\n                    \"id\": \"01a1bb7a-39ac-7337-acf3-5ed95689f3f5\",\n                    \"full_name\": \"Americo Greenholt V\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"562856845\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1bb7a-39b2-72e4-96ae-77ca30476ee4\",\n                    \"label\": \"Sample-tmex12043172\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"status\": {\n                    \"value\": \"replied\",\n                    \"label\": \"Replied\"\n                },\n                \"assignee\": {\n                    \"id\": \"01a1bb7a-398b-7341-a6f8-16413ae91f29\",\n                    \"full_name\": \"Emma Harris\"\n                },\n                \"order\": null,\n                \"trip\": null,\n                \"created_at\": \"2026-11-08T14:05:11+00:00\",\n                \"closed_at\": null\n            },\n            {\n                \"id\": \"01a1bb7a-39a9-716e-9bbc-16a8561a4e01\",\n                \"code\": \"SUP-aiam46745016\",\n                \"app\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"user\": {\n                    \"id\": \"01a1bb7a-39a1-72c6-87b7-63d5f3ba774c\",\n                    \"full_name\": \"Jennyfer Macejkovic\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"583568427\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1bb7a-39a5-70fc-890b-ec5b33aa88b0\",\n                    \"label\": \"Sample-gsjj15052042\"\n                },\n                \"priority\": {\n                    \"value\": \"urgent\",\n                    \"label\": \"Urgent\"\n                },\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"assignee\": null,\n                \"order\": null,\n                \"trip\": null,\n                \"created_at\": \"2026-11-08T14:05:11+00:00\",\n                \"closed_at\": null\n            },\n            {\n                \"id\": \"01a1bb7a-399f-72f4-9edf-e9edc0dfab64\",\n                \"code\": \"SUP-rxvk04569074\",\n                \"app\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"user\": {\n                    \"id\": \"01a1bb7a-3992-70b4-b673-b497cc7daca3\",\n                    \"full_name\": \"Wyatt King\",\n                    \"phone_code\": \"966\",\n                    \"phone\": \"513783535\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1bb7a-3999-7116-8fd4-e13f7f0a10fc\",\n                    \"label\": \"Sample-uosq30261626\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"assignee\": null,\n                \"order\": null,\n                \"trip\": null,\n                \"created_at\": \"2026-11-08T14:05:11+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/support-tickets?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/support-tickets?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/support-tickets\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "SUP-1001",
                                                            "description": "Partial match on the ticket code (`SUP-1001`), or the requester's name or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "driver",
                                                            "description": "Who sent it: `customer`, `provider` or `driver` (ADMIN-026). — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "under_review",
                                                            "description": "Request status: under_review, replied or closed (DEC-21). — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[priority]",
                                                            "value": "urgent",
                                                            "description": "Priority: `normal`, or `urgent` when the reason is urgent. — `string (enum)`, one of: `normal`, `urgent`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[reason_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Contact or complaint reason (uuid from `support_reasons`). — `string (uuid)`, a `support_reasons` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[assigned_admin_id]",
                                                            "value": "{{user_id}}",
                                                            "description": "Admin (user uuid) the request is assigned to. — `string (uuid)`, a `users` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by submission time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[priority]",
                                                            "value": "desc",
                                                            "description": "Order by priority (urgent sorts after normal when ascending). — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[status]",
                                                            "value": "asc",
                                                            "description": "Order by status. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "SUP-1001",
                                                            "description": "Partial match on the ticket code (`SUP-1001`), or the requester's name or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "driver",
                                                            "description": "Who sent it: `customer`, `provider` or `driver` (ADMIN-026). — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "under_review",
                                                            "description": "Request status: under_review, replied or closed (DEC-21). — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[priority]",
                                                            "value": "urgent",
                                                            "description": "Priority: `normal`, or `urgent` when the reason is urgent. — `string (enum)`, one of: `normal`, `urgent`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[reason_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Contact or complaint reason (uuid from `support_reasons`). — `string (uuid)`, a `support_reasons` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[assigned_admin_id]",
                                                            "value": "{{user_id}}",
                                                            "description": "Admin (user uuid) the request is assigned to. — `string (uuid)`, a `users` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by submission time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[priority]",
                                                            "value": "desc",
                                                            "description": "Order by priority (urgent sorts after normal when ascending). — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[status]",
                                                            "value": "asc",
                                                            "description": "Order by status. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "SUP-1001",
                                                            "description": "Partial match on the ticket code (`SUP-1001`), or the requester's name or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "driver",
                                                            "description": "Who sent it: `customer`, `provider` or `driver` (ADMIN-026). — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "under_review",
                                                            "description": "Request status: under_review, replied or closed (DEC-21). — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[priority]",
                                                            "value": "urgent",
                                                            "description": "Priority: `normal`, or `urgent` when the reason is urgent. — `string (enum)`, one of: `normal`, `urgent`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[reason_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Contact or complaint reason (uuid from `support_reasons`). — `string (uuid)`, a `support_reasons` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[assigned_admin_id]",
                                                            "value": "{{user_id}}",
                                                            "description": "Admin (user uuid) the request is assigned to. — `string (uuid)`, a `users` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2026-11-01",
                                                            "description": "Earliest submission date, `YYYY-MM-DD`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2026-11-30",
                                                            "description": "Latest submission date, `YYYY-MM-DD`, not before `created_from`. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Order by submission time; default newest first. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[priority]",
                                                            "value": "desc",
                                                            "description": "Order by priority (urgent sorts after normal when ascending). — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[status]",
                                                            "value": "asc",
                                                            "description": "Order by status. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Support Tickets List Invalid App",
                                            "_joshen": {
                                                "route": "admin.support-tickets.index",
                                                "name": "Support Tickets List Invalid App",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets",
                                                    "query": {
                                                        "filters": {
                                                            "app": "admin"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_list_filters_by_app_status_priority_reason_assignee_and_date"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets?filters[app]=admin",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[app]",
                                                            "value": "admin"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.app is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.app\": [\n                \"The selected filters.app is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "support_ticket_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "user_id",
                                                "set_by": [
                                                    "admin.users.index",
                                                    "admin.users.view"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reasons",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/support-tickets/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "support-tickets",
                                                "reasons"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "payment",
                                                    "description": "Partial match on the reason label in any language. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[audience]",
                                                    "value": "customer",
                                                    "description": "App the reason is offered in: `customer`, `provider` or `driver`. Omit for every app. — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "`1` = reasons users can still pick, `0` = retired reasons that old requests may still carry. Omit to list both, so a historical request's reason can always be selected. — `boolean`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.support-tickets.reasons`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the reason label in any language. — `string` (optional)\n- `filters[audience]` — App the reason is offered in: `customer`, `provider` or `driver`. Omit for every app. — `string (enum)`, one of: `customer`, `provider`, `driver` (optional)\n- `filters[is_active]` — `1` = reasons users can still pick, `0` = retired reasons that old requests may still carry. Omit to list both, so a historical request's reason can always be selected. — `boolean` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Support Reasons Lookup\n- `200` Support Reasons Lookup Unpaginated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Support Reasons Lookup Invalid\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": \"01a1c636-54bf-72fe-877d-50a0e6c9a41a\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"label\": \"Payment issue\",\n                \"is_urgent\": true,\n                \"is_active\": true,\n                \"sort_order\": 1\n            },\n            {\n                \"id\": \"01a1c636-54c3-73bb-87b1-dc99395892a4\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"label\": \"Old complaint\",\n                \"is_urgent\": false,\n                \"is_active\": false,\n                \"sort_order\": 2\n            },\n            {\n                \"id\": \"01a1c636-54c5-710b-8f19-02b3fe61379f\",\n                \"audience\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"label\": \"Trip problem\",\n                \"is_urgent\": false,\n                \"is_active\": true,\n                \"sort_order\": 1\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/support-tickets/reasons?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/support-tickets/reasons?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets/reasons?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/support-tickets/reasons\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Support Reasons Lookup",
                                            "_joshen": {
                                                "route": "admin.support-tickets.reasons",
                                                "name": "Support Reasons Lookup",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/reasons",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_reason_lookup_lists_active_and_retired_reasons_with_search_and_filters"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": \"01a1c636-54bf-72fe-877d-50a0e6c9a41a\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"label\": \"Payment issue\",\n                \"is_urgent\": true,\n                \"is_active\": true,\n                \"sort_order\": 1\n            },\n            {\n                \"id\": \"01a1c636-54c3-73bb-87b1-dc99395892a4\",\n                \"audience\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"label\": \"Old complaint\",\n                \"is_urgent\": false,\n                \"is_active\": false,\n                \"sort_order\": 2\n            },\n            {\n                \"id\": \"01a1c636-54c5-710b-8f19-02b3fe61379f\",\n                \"audience\": {\n                    \"value\": \"driver\",\n                    \"label\": \"Driver\"\n                },\n                \"label\": \"Trip problem\",\n                \"is_urgent\": false,\n                \"is_active\": true,\n                \"sort_order\": 1\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/support-tickets/reasons?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/support-tickets/reasons?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets/reasons?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/support-tickets/reasons\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Support Reasons Lookup Unpaginated",
                                            "_joshen": {
                                                "route": "admin.support-tickets.reasons",
                                                "name": "Support Reasons Lookup Unpaginated",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/reasons",
                                                    "query": {
                                                        "paginate": "false",
                                                        "filters": {
                                                            "audience": "customer"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_reason_lookup_lists_active_and_retired_reasons_with_search_and_filters"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/reasons?paginate=false&filters[audience]=customer",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "reasons"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        },
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "customer"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1c636-54bf-72fe-877d-50a0e6c9a41a\",\n            \"audience\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"label\": \"Payment issue\",\n            \"is_urgent\": true,\n            \"is_active\": true,\n            \"sort_order\": 1\n        },\n        {\n            \"id\": \"01a1c636-54c3-73bb-87b1-dc99395892a4\",\n            \"audience\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"label\": \"Old complaint\",\n            \"is_urgent\": false,\n            \"is_active\": false,\n            \"sort_order\": 2\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "reasons"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "payment",
                                                            "description": "Partial match on the reason label in any language. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "customer",
                                                            "description": "App the reason is offered in: `customer`, `provider` or `driver`. Omit for every app. — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "`1` = reasons users can still pick, `0` = retired reasons that old requests may still carry. Omit to list both, so a historical request's reason can always be selected. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "reasons"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "payment",
                                                            "description": "Partial match on the reason label in any language. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "customer",
                                                            "description": "App the reason is offered in: `customer`, `provider` or `driver`. Omit for every app. — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "`1` = reasons users can still pick, `0` = retired reasons that old requests may still carry. Omit to list both, so a historical request's reason can always be selected. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "reasons"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "payment",
                                                            "description": "Partial match on the reason label in any language. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "customer",
                                                            "description": "App the reason is offered in: `customer`, `provider` or `driver`. Omit for every app. — `string (enum)`, one of: `customer`, `provider`, `driver`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "`1` = reasons users can still pick, `0` = retired reasons that old requests may still carry. Omit to list both, so a historical request's reason can always be selected. — `boolean`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Support Reasons Lookup Invalid",
                                            "_joshen": {
                                                "route": "admin.support-tickets.reasons",
                                                "name": "Support Reasons Lookup Invalid",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/reasons",
                                                    "query": {
                                                        "filters": {
                                                            "audience": "admin",
                                                            "is_active": "maybe",
                                                            "other": 1
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_reason_lookup_validates_its_query_and_needs_the_support_view_cell"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/reasons?filters[audience]=admin&filters[is_active]=maybe&filters[other]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "reasons"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[audience]",
                                                            "value": "admin"
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "maybe"
                                                        },
                                                        {
                                                            "key": "filters[other]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): filters.other. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"filters\": [\n                \"Unsupported input key(s): filters.other.\"\n            ],\n            \"filters.audience\": [\n                \"The selected filters.audience is invalid.\"\n            ],\n            \"filters.is_active\": [\n                \"The filters.is active field must be true or false.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Assignees",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/support-tickets/assignees",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "support-tickets",
                                                "assignees"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "sara",
                                                    "description": "Partial match on the admin's name or email. — `string`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.support-tickets.assignees`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on the admin's name or email. — `string` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Support Assignees Lookup\n- `200` Support Assignees Lookup Page\n- `200` Support Assignees Lookup Unpaginated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Support Assignees Lookup Invalid\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"assignees\": [\n            {\n                \"id\": \"01a1c636-5c08-72dc-9f12-7309ae2d80c7\",\n                \"full_name\": \"Alia Root\",\n                \"email\": \"maria79@example.com\",\n                \"type\": {\n                    \"value\": \"super_admin\",\n                    \"label\": \"Super admin\"\n                }\n            },\n            {\n                \"id\": \"01a1c636-5bc8-72b9-899f-d38a75f35f1b\",\n                \"full_name\": \"Amal Desk\",\n                \"email\": \"danial09@example.org\",\n                \"type\": {\n                    \"value\": \"supervisor\",\n                    \"label\": \"Supervisor\"\n                }\n            },\n            {\n                \"id\": \"01a1c636-5bbb-7090-8831-856c8e8b34b1\",\n                \"full_name\": \"Zed Root\",\n                \"email\": \"danika.kassulke@example.net\",\n                \"type\": {\n                    \"value\": \"super_admin\",\n                    \"label\": \"Super admin\"\n                }\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/support-tickets/assignees\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Support Assignees Lookup",
                                            "_joshen": {
                                                "route": "admin.support-tickets.assignees",
                                                "name": "Support Assignees Lookup",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/assignees",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_assignee_lookup_lists_exactly_the_admins_the_assignment_accepts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/assignees",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "assignees"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"assignees\": [\n            {\n                \"id\": \"01a1c636-5c08-72dc-9f12-7309ae2d80c7\",\n                \"full_name\": \"Alia Root\",\n                \"email\": \"maria79@example.com\",\n                \"type\": {\n                    \"value\": \"super_admin\",\n                    \"label\": \"Super admin\"\n                }\n            },\n            {\n                \"id\": \"01a1c636-5bc8-72b9-899f-d38a75f35f1b\",\n                \"full_name\": \"Amal Desk\",\n                \"email\": \"danial09@example.org\",\n                \"type\": {\n                    \"value\": \"supervisor\",\n                    \"label\": \"Supervisor\"\n                }\n            },\n            {\n                \"id\": \"01a1c636-5bbb-7090-8831-856c8e8b34b1\",\n                \"full_name\": \"Zed Root\",\n                \"email\": \"danika.kassulke@example.net\",\n                \"type\": {\n                    \"value\": \"super_admin\",\n                    \"label\": \"Super admin\"\n                }\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/support-tickets/assignees\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Support Assignees Lookup Page",
                                            "_joshen": {
                                                "route": "admin.support-tickets.assignees",
                                                "name": "Support Assignees Lookup Page",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/assignees",
                                                    "query": {
                                                        "per_page": 1,
                                                        "page": 2
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_assignee_lookup_searches_paginates_and_stays_inside_the_support_view_cell"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/assignees?per_page=1&page=2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "assignees"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "1"
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "2"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"assignees\": [\n            {\n                \"id\": \"01a1c636-5e8d-70b4-8382-811a997fc133\",\n                \"full_name\": \"Zed Root\",\n                \"email\": \"rutherford.raymundo@example.net\",\n                \"type\": {\n                    \"value\": \"super_admin\",\n                    \"label\": \"Super admin\"\n                }\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=2\",\n            \"prev\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 2,\n            \"from\": 2,\n            \"last_page\": 2,\n            \"links\": [\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": 1,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/support-tickets/assignees?page=2\",\n                    \"label\": \"2\",\n                    \"page\": 2,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/support-tickets/assignees\",\n            \"per_page\": 1,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Support Assignees Lookup Unpaginated",
                                            "_joshen": {
                                                "route": "admin.support-tickets.assignees",
                                                "name": "Support Assignees Lookup Unpaginated",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/assignees",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_assignee_lookup_searches_paginates_and_stays_inside_the_support_view_cell"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/assignees?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "assignees"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1c636-5e9a-7172-85b2-8134284eb6f1\",\n            \"full_name\": \"Amal Desk\",\n            \"email\": \"amal@example.com\",\n            \"type\": {\n                \"value\": \"supervisor\",\n                \"label\": \"Supervisor\"\n            }\n        },\n        {\n            \"id\": \"01a1c636-5e8d-70b4-8382-811a997fc133\",\n            \"full_name\": \"Zed Root\",\n            \"email\": \"rutherford.raymundo@example.net\",\n            \"type\": {\n                \"value\": \"super_admin\",\n                \"label\": \"Super admin\"\n            }\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/assignees",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "assignees"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "sara",
                                                            "description": "Partial match on the admin's name or email. — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/assignees",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "assignees"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "sara",
                                                            "description": "Partial match on the admin's name or email. — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/assignees",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "assignees"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` (or `0`) for a direct `data` array capped at 500 rows; default `true`. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "sara",
                                                            "description": "Partial match on the admin's name or email. — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Support Assignees Lookup Invalid",
                                            "_joshen": {
                                                "route": "admin.support-tickets.assignees",
                                                "name": "Support Assignees Lookup Invalid",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/assignees",
                                                    "query": {
                                                        "page": 0,
                                                        "per_page": 500
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminLookupsTest::test_td_179_assignee_lookup_searches_paginates_and_stays_inside_the_support_view_cell"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/assignees?page=0&per_page=500",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "assignees"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "0"
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "500"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The page field must be at least 1. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"page\": [\n                \"The page field must be at least 1.\"\n            ],\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"support_ticket_id\",\"Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"support_ticket_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "support-tickets",
                                                ":ticket"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{support_ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.support-tickets.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{support_ticket_id}}` — Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `support_ticket_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Support Ticket Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Support Ticket Not Found\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bb7a-3ee8-7115-925b-bd556190c97c\",\n        \"code\": \"SUP-oxmq12327152\",\n        \"app\": {\n            \"value\": \"driver\",\n            \"label\": \"Driver\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-3ecd-71f1-9582-9e85e9225184\",\n            \"full_name\": \"Landen Wolff\",\n            \"phone_code\": \"966\",\n            \"phone\": \"586396540\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-3ee5-72ff-b839-edff4eb2e579\",\n            \"label\": \"Sample-krww41563937\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"assignee\": null,\n        \"order\": null,\n        \"trip\": {\n            \"id\": \"01a1bb7a-3ed2-7070-8c5a-0a7e8b50de66\",\n            \"code\": \"TRP-xgqq76542883\",\n            \"order\": {\n                \"id\": \"01a1bb7a-3ed2-7070-8c5a-0a7e8bb80b87\",\n                \"code\": \"JSH-zfoa22483381\"\n            }\n        },\n        \"created_at\": \"2026-11-08T14:05:13+00:00\",\n        \"closed_at\": null,\n        \"body\": \"The pickup was cancelled on site\",\n        \"attachments\": [\n            \"http://localhost/storage/support/fe8faf2d-748f-4c5c-8dd1-cafceadadcc1.pdf\"\n        ],\n        \"allowed_statuses\": [\n            {\n                \"value\": \"closed\",\n                \"label\": \"Closed\"\n            }\n        ],\n        \"can_reply\": true,\n        \"updated_at\": \"2026-11-08T14:05:13+00:00\",\n        \"messages\": [\n            {\n                \"id\": \"01a1bb7a-3ef7-71d5-afbd-71ab485febdd\",\n                \"sender\": {\n                    \"value\": \"user\",\n                    \"label\": \"Requester\",\n                    \"name\": \"Landen Wolff\"\n                },\n                \"body\": \"First\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"created_at\": \"2026-11-08T14:05:13+00:00\"\n            },\n            {\n                \"id\": \"01a1bb7a-3ef8-71f5-95e4-f111cabe90eb\",\n                \"sender\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Support team\",\n                    \"name\": \"Leopoldo Erdman DVM\"\n                },\n                \"body\": \"Second\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"created_at\": \"2026-11-08T14:05:13+00:00\"\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Support Ticket Details",
                                            "_joshen": {
                                                "route": "admin.support-tickets.show",
                                                "name": "Support Ticket Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-3ee8-7115-925b-bd556190c97c",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_details_show_the_user_attachments_order_trip_and_the_whole_thread"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-3ee8-7115-925b-bd556190c97c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-3ee8-7115-925b-bd556190c97c"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bb7a-3ee8-7115-925b-bd556190c97c\",\n        \"code\": \"SUP-oxmq12327152\",\n        \"app\": {\n            \"value\": \"driver\",\n            \"label\": \"Driver\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-3ecd-71f1-9582-9e85e9225184\",\n            \"full_name\": \"Landen Wolff\",\n            \"phone_code\": \"966\",\n            \"phone\": \"586396540\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-3ee5-72ff-b839-edff4eb2e579\",\n            \"label\": \"Sample-krww41563937\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"assignee\": null,\n        \"order\": null,\n        \"trip\": {\n            \"id\": \"01a1bb7a-3ed2-7070-8c5a-0a7e8b50de66\",\n            \"code\": \"TRP-xgqq76542883\",\n            \"order\": {\n                \"id\": \"01a1bb7a-3ed2-7070-8c5a-0a7e8bb80b87\",\n                \"code\": \"JSH-zfoa22483381\"\n            }\n        },\n        \"created_at\": \"2026-11-08T14:05:13+00:00\",\n        \"closed_at\": null,\n        \"body\": \"The pickup was cancelled on site\",\n        \"attachments\": [\n            \"http://localhost/storage/support/fe8faf2d-748f-4c5c-8dd1-cafceadadcc1.pdf\"\n        ],\n        \"allowed_statuses\": [\n            {\n                \"value\": \"closed\",\n                \"label\": \"Closed\"\n            }\n        ],\n        \"can_reply\": true,\n        \"updated_at\": \"2026-11-08T14:05:13+00:00\",\n        \"messages\": [\n            {\n                \"id\": \"01a1bb7a-3ef7-71d5-afbd-71ab485febdd\",\n                \"sender\": {\n                    \"value\": \"user\",\n                    \"label\": \"Requester\",\n                    \"name\": \"Landen Wolff\"\n                },\n                \"body\": \"First\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"created_at\": \"2026-11-08T14:05:13+00:00\"\n            },\n            {\n                \"id\": \"01a1bb7a-3ef8-71f5-95e4-f111cabe90eb\",\n                \"sender\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Support team\",\n                    \"name\": \"Leopoldo Erdman DVM\"\n                },\n                \"body\": \"Second\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"created_at\": \"2026-11-08T14:05:13+00:00\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Support Ticket Not Found",
                                            "_joshen": {
                                                "route": "admin.support-tickets.show",
                                                "name": "Support Ticket Not Found",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/e0c1af53-db73-4c3e-bc67-296b76830a59",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_details_show_the_user_attachments_order_trip_and_the_whole_thread"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/e0c1af53-db73-4c3e-bc67-296b76830a59",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "e0c1af53-db73-4c3e-bc67-296b76830a59"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "support_ticket_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "support_ticket_id",
                                                "set_by": [
                                                    "admin.support-tickets.index",
                                                    "admin.support-tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reply",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"support_ticket_id\",\"Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "support-tickets",
                                                ":ticket",
                                                "messages"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{support_ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.support-tickets.reply`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `body`\n- **Description:** The answer shown to the requester in her app, 2–4000 characters. Sending it sets the request to `replied`.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `We refunded the second charge to your wallet.`\n- **Validation rules:** `required|string|min:2|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:2` — must be at least 2.\n- `max:4000` — must not exceed 4000.\n### `attachments`\n- **Description:** Optional files (at most 5) uploaded first through the media endpoint.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `sometimes|array|list|max:5`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:5` — must not exceed 5.\n### `attachments.*`\n- **Description:** Media hash returned by the upload endpoint; an image, a video or a document.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{support_ticket_id}}` — Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `201` Support Ticket Reply\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Support Ticket Reply Closed — `error_code: SUPPORT_TICKET_CLOSED`\n- `422` Support Ticket Reply Empty\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your reply was sent.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-44d0-7114-94ce-c471161d6de6\",\n        \"sender\": {\n            \"value\": \"admin\",\n            \"label\": \"Support team\"\n        },\n        \"body\": \"We are on it\",\n        \"attachments\": [\n            \"http://localhost/storage/support/abf7a416-dcac-4eda-8820-ff11e3c2ce5b.pdf\"\n        ],\n        \"created_at\": \"2026-11-08T14:05:14+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"body\": \"We refunded the second charge to your wallet.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Support Ticket Reply",
                                            "_joshen": {
                                                "route": "admin.support-tickets.reply",
                                                "name": "Support Ticket Reply",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-44b9-7294-913d-2c0c9e908732/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "We are on it",
                                                        "attachments": [
                                                            "abf7a416-dcac-4eda-8820-ff11e3c2ce5b"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_a_reply_sets_replied_and_reaches_the_requester_in_her_own_app"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-44b9-7294-913d-2c0c9e908732/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-44b9-7294-913d-2c0c9e908732",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"We are on it\",\n    \"attachments\": [\n        \"abf7a416-dcac-4eda-8820-ff11e3c2ce5b\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your reply was sent.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-44d0-7114-94ce-c471161d6de6\",\n        \"sender\": {\n            \"value\": \"admin\",\n            \"label\": \"Support team\"\n        },\n        \"body\": \"We are on it\",\n        \"attachments\": [\n            \"http://localhost/storage/support/abf7a416-dcac-4eda-8820-ff11e3c2ce5b.pdf\"\n        ],\n        \"created_at\": \"2026-11-08T14:05:14+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"We refunded the second charge to your wallet.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"We refunded the second charge to your wallet.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"We refunded the second charge to your wallet.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Support Ticket Reply Closed",
                                            "_joshen": {
                                                "route": "admin.support-tickets.reply",
                                                "name": "Support Ticket Reply Closed",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-47a1-73c7-8892-eb4bb32bf8c1/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Late answer"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_a_reply_to_a_closed_ticket_is_refused_and_a_blank_one_is_invalid"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-47a1-73c7-8892-eb4bb32bf8c1/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-47a1-73c7-8892-eb4bb32bf8c1",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Late answer\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This request is closed; it cannot be answered.\",\n    \"data\": {\n        \"error_code\": \"SUPPORT_TICKET_CLOSED\",\n        \"correlation_id\": \"2ac94d5d-137f-490b-aa08-9416e18c42bf\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Support Ticket Reply Empty",
                                            "_joshen": {
                                                "route": "admin.support-tickets.reply",
                                                "name": "Support Ticket Reply Empty",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-47b3-72c7-ba2b-9218f63444b4/messages",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_a_reply_to_a_closed_ticket_is_refused_and_a_blank_one_is_invalid"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-47b3-72c7-ba2b-9218f63444b4/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-47b3-72c7-ba2b-9218f63444b4",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "support_ticket_id",
                                                "set_by": [
                                                    "admin.support-tickets.index",
                                                    "admin.support-tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Status",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"support_ticket_id\",\"Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "support-tickets",
                                                ":ticket",
                                                "status"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{support_ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.support-tickets.status`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `status`\n- **Description:** New status: `under_review` (from `replied`) or `closed`. `replied` cannot be set directly — send a reply instead (TD-163).\n- **Type:** `string (enum)`\n- **Allowed values:** `under_review`, `closed`\n- **Required:** required\n- **Example:** `closed`\n- **Validation rules:** `required|in:\"under_review\",\"closed\"`\n- `required` — must be provided.\n- `in:\"under_review\",\"closed\"` — must be one of: \"under_review\", \"closed\".\n\n**Variables:**\n- Uses `{{support_ticket_id}}` — Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Support Ticket Status Under Review\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Support Ticket Status Invalid Transition — `error_code: INVALID_STATE_TRANSITION`\n- `422` Support Ticket Status Replied Invalid\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"The request status was updated.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-49cf-71f8-9bc9-492a9cc90aaa\",\n        \"code\": \"SUP-brcz16665382\",\n        \"app\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-49ca-73b1-9d8e-df39ce99d420\",\n            \"full_name\": \"Lorna Kohler\",\n            \"phone_code\": \"966\",\n            \"phone\": \"545862863\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-49cd-73f7-8752-02d6e5295fde\",\n            \"label\": \"Sample-sbyu02472499\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"assignee\": null,\n        \"order\": null,\n        \"trip\": null,\n        \"created_at\": \"2026-11-08T14:05:16+00:00\",\n        \"closed_at\": null,\n        \"body\": \"Quis voluptatem ea impedit doloribus voluptatem magni. Enim commodi dignissimos eum dolores nulla eaque. Iste aliquam a praesentium odio sed.\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"allowed_statuses\": [\n            {\n                \"value\": \"closed\",\n                \"label\": \"Closed\"\n            }\n        ],\n        \"can_reply\": true,\n        \"updated_at\": \"2026-11-08T14:05:16+00:00\",\n        \"messages\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"status\": \"closed\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Support Ticket Status Under Review",
                                            "_joshen": {
                                                "route": "admin.support-tickets.status",
                                                "name": "Support Ticket Status Under Review",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-49cf-71f8-9bc9-492a9cc90aaa/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "under_review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_the_status_moves_by_the_transition_map_and_tells_the_requester"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-49cf-71f8-9bc9-492a9cc90aaa/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-49cf-71f8-9bc9-492a9cc90aaa",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"under_review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"The request status was updated.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-49cf-71f8-9bc9-492a9cc90aaa\",\n        \"code\": \"SUP-brcz16665382\",\n        \"app\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-49ca-73b1-9d8e-df39ce99d420\",\n            \"full_name\": \"Lorna Kohler\",\n            \"phone_code\": \"966\",\n            \"phone\": \"545862863\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-49cd-73f7-8752-02d6e5295fde\",\n            \"label\": \"Sample-sbyu02472499\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"assignee\": null,\n        \"order\": null,\n        \"trip\": null,\n        \"created_at\": \"2026-11-08T14:05:16+00:00\",\n        \"closed_at\": null,\n        \"body\": \"Quis voluptatem ea impedit doloribus voluptatem magni. Enim commodi dignissimos eum dolores nulla eaque. Iste aliquam a praesentium odio sed.\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"allowed_statuses\": [\n            {\n                \"value\": \"closed\",\n                \"label\": \"Closed\"\n            }\n        ],\n        \"can_reply\": true,\n        \"updated_at\": \"2026-11-08T14:05:16+00:00\",\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "status"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"closed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "status"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"closed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "status"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"closed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Support Ticket Status Invalid Transition",
                                            "_joshen": {
                                                "route": "admin.support-tickets.status",
                                                "name": "Support Ticket Status Invalid Transition",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-4c3e-72ab-b850-aa276bf16696/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "under_review"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_replied_cannot_be_set_directly_and_a_closed_ticket_stays_closed"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-4c3e-72ab-b850-aa276bf16696/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-4c3e-72ab-b850-aa276bf16696",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"under_review\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A request cannot move from under_review to under_review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"73d2b37f-c8bc-415c-9eef-85d9049db15f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Support Ticket Status Replied Invalid",
                                            "_joshen": {
                                                "route": "admin.support-tickets.status",
                                                "name": "Support Ticket Status Replied Invalid",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-4c3e-72ab-b850-aa276bf16696/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "replied"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_replied_cannot_be_set_directly_and_a_closed_ticket_stays_closed"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-4c3e-72ab-b850-aa276bf16696/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-4c3e-72ab-b850-aa276bf16696",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"replied\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"status\": [\n                \"The selected status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "support_ticket_id",
                                                "set_by": [
                                                    "admin.support-tickets.index",
                                                    "admin.support-tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Assign",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"support_ticket_id\",\"Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"user_id\",\"Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/assignee",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "support-tickets",
                                                ":ticket",
                                                "assignee"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{support_ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.support-tickets.assign`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `assignee_id`\n- **Description:** Admin (user uuid) who handles the request; a super admin or a supervisor who can see the support desk. Send `null` to clear it.\n- **Type:** `string (uuid)`\n- **Refers to:** a `users` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{user_id}}`\n- **Validation rules:** `present|nullable|uuid|exists:users,uuid`\n- `present` — must be present (may be empty).\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:users,uuid` — must reference an existing record (users, uuid).\n\n**Variables:**\n- Uses `{{support_ticket_id}}` — Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{user_id}}` — Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\n\n**Responses:**\n- `200` Support Ticket Assign\n- `200` Support Ticket Assign Clear\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Support Ticket Assign Invalid Assignee — `error_code: SUPPORT_ASSIGNEE_INVALID`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"The request assignment was updated.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-52ac-7093-ba77-0991af3274d7\",\n        \"code\": \"SUP-koos79305210\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-52a5-71ca-bd84-a83c97b023ac\",\n            \"full_name\": \"Eusebio Glover\",\n            \"phone_code\": \"966\",\n            \"phone\": \"570945341\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-52a9-702a-b8bc-043ba0f4145e\",\n            \"label\": \"Sample-osky65829246\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"assignee\": {\n            \"id\": \"01a1bb7a-52b7-731d-bf8b-ae1e1e54fd1e\",\n            \"full_name\": \"Dr. Noelia Corwin III\"\n        },\n        \"order\": null,\n        \"trip\": null,\n        \"created_at\": \"2026-11-08T14:05:18+00:00\",\n        \"closed_at\": null,\n        \"body\": \"Saepe quibusdam maxime eum voluptate. Voluptate voluptatem temporibus sit magnam ex. Soluta consequatur expedita ducimus qui nulla. Asperiores modi velit adipisci impedit est libero repudiandae.\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"allowed_statuses\": [\n            {\n                \"value\": \"closed\",\n                \"label\": \"Closed\"\n            }\n        ],\n        \"can_reply\": true,\n        \"updated_at\": \"2026-11-08T14:05:18+00:00\",\n        \"messages\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"assignee_id\": \"{{user_id}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Support Ticket Assign",
                                            "_joshen": {
                                                "route": "admin.support-tickets.assign",
                                                "name": "Support Ticket Assign",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-52ac-7093-ba77-0991af3274d7/assignee",
                                                    "query": null,
                                                    "body": {
                                                        "assignee_id": "01a1bb7a-52b7-731d-bf8b-ae1e1e54fd1e"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_a_ticket_is_assigned_only_to_an_active_admin_who_can_see_the_desk"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-52ac-7093-ba77-0991af3274d7/assignee",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-52ac-7093-ba77-0991af3274d7",
                                                        "assignee"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"assignee_id\": \"01a1bb7a-52b7-731d-bf8b-ae1e1e54fd1e\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"The request assignment was updated.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-52ac-7093-ba77-0991af3274d7\",\n        \"code\": \"SUP-koos79305210\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-52a5-71ca-bd84-a83c97b023ac\",\n            \"full_name\": \"Eusebio Glover\",\n            \"phone_code\": \"966\",\n            \"phone\": \"570945341\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-52a9-702a-b8bc-043ba0f4145e\",\n            \"label\": \"Sample-osky65829246\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"assignee\": {\n            \"id\": \"01a1bb7a-52b7-731d-bf8b-ae1e1e54fd1e\",\n            \"full_name\": \"Dr. Noelia Corwin III\"\n        },\n        \"order\": null,\n        \"trip\": null,\n        \"created_at\": \"2026-11-08T14:05:18+00:00\",\n        \"closed_at\": null,\n        \"body\": \"Saepe quibusdam maxime eum voluptate. Voluptate voluptatem temporibus sit magnam ex. Soluta consequatur expedita ducimus qui nulla. Asperiores modi velit adipisci impedit est libero repudiandae.\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"allowed_statuses\": [\n            {\n                \"value\": \"closed\",\n                \"label\": \"Closed\"\n            }\n        ],\n        \"can_reply\": true,\n        \"updated_at\": \"2026-11-08T14:05:18+00:00\",\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "200 Support Ticket Assign Clear",
                                            "_joshen": {
                                                "route": "admin.support-tickets.assign",
                                                "name": "Support Ticket Assign Clear",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-52ac-7093-ba77-0991af3274d7/assignee",
                                                    "query": null,
                                                    "body": {
                                                        "assignee_id": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_a_ticket_is_assigned_only_to_an_active_admin_who_can_see_the_desk"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-52ac-7093-ba77-0991af3274d7/assignee",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-52ac-7093-ba77-0991af3274d7",
                                                        "assignee"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"assignee_id\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"The request assignment was updated.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-52ac-7093-ba77-0991af3274d7\",\n        \"code\": \"SUP-koos79305210\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-52a5-71ca-bd84-a83c97b023ac\",\n            \"full_name\": \"Eusebio Glover\",\n            \"phone_code\": \"966\",\n            \"phone\": \"570945341\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-52a9-702a-b8bc-043ba0f4145e\",\n            \"label\": \"Sample-osky65829246\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"assignee\": null,\n        \"order\": null,\n        \"trip\": null,\n        \"created_at\": \"2026-11-08T14:05:18+00:00\",\n        \"closed_at\": null,\n        \"body\": \"Saepe quibusdam maxime eum voluptate. Voluptate voluptatem temporibus sit magnam ex. Soluta consequatur expedita ducimus qui nulla. Asperiores modi velit adipisci impedit est libero repudiandae.\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"allowed_statuses\": [\n            {\n                \"value\": \"closed\",\n                \"label\": \"Closed\"\n            }\n        ],\n        \"can_reply\": true,\n        \"updated_at\": \"2026-11-08T14:05:18+00:00\",\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/assignee",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "assignee"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"assignee_id\": \"{{user_id}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/assignee",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "assignee"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"assignee_id\": \"{{user_id}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/assignee",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "assignee"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"assignee_id\": \"{{user_id}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Support Ticket Assign Invalid Assignee",
                                            "_joshen": {
                                                "route": "admin.support-tickets.assign",
                                                "name": "Support Ticket Assign Invalid Assignee",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-52ac-7093-ba77-0991af3274d7/assignee",
                                                    "query": null,
                                                    "body": {
                                                        "assignee_id": "01a1bb7a-52cf-72be-aac9-b126274836f5"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_a_ticket_is_assigned_only_to_an_active_admin_who_can_see_the_desk"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-52ac-7093-ba77-0991af3274d7/assignee",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-52ac-7093-ba77-0991af3274d7",
                                                        "assignee"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"assignee_id\": \"01a1bb7a-52cf-72be-aac9-b126274836f5\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The chosen admin cannot handle support requests.\",\n    \"data\": {\n        \"error_code\": \"SUPPORT_ASSIGNEE_INVALID\",\n        \"correlation_id\": \"297e27f4-3584-49c6-9475-fb3318f72e1f\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "support_ticket_id",
                                                "set_by": [
                                                    "admin.support-tickets.index",
                                                    "admin.support-tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "user_id",
                                                "set_by": [
                                                    "admin.users.index",
                                                    "admin.users.view"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Close",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"support_ticket_id\",\"Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/close",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "support-tickets",
                                                ":ticket",
                                                "close"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{support_ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.support-tickets.close`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `body`\n- **Description:** Optional last message to the requester; it is saved with the closing in one step and she gets one notice (TD-163).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Resolved, closing this request.`\n- **Validation rules:** `sometimes|nullable|string|min:2|max:4000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `min:2` — must be at least 2.\n- `max:4000` — must not exceed 4000.\n### `attachments`\n- **Description:** Optional files (at most 5) for the last message.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `sometimes|array|list|max:5`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:5` — must not exceed 5.\n### `attachments.*`\n- **Description:** Media hash returned by the upload endpoint; an image, a video or a document.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{support_ticket_id}}` — Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `200` Support Ticket Close With Message\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Support Ticket Close Body Too Short\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"The request status was updated.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-4e71-72f5-aa5f-038912408bae\",\n        \"code\": \"SUP-jtel97447536\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-4e6b-7253-ba9e-45a53ea8ee64\",\n            \"full_name\": \"Mae Rosenbaum\",\n            \"phone_code\": \"966\",\n            \"phone\": \"565938605\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-4e6e-710e-864c-e3ba295a8e72\",\n            \"label\": \"Sample-kbtv24819479\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"closed\",\n            \"label\": \"Closed\"\n        },\n        \"assignee\": null,\n        \"order\": null,\n        \"trip\": null,\n        \"created_at\": \"2026-11-08T14:05:17+00:00\",\n        \"closed_at\": \"2026-11-08T14:05:17+00:00\",\n        \"body\": \"Et voluptatem voluptas quaerat nam. Voluptatibus eos illo modi earum in exercitationem a non. Accusantium alias temporibus consequatur magni. Occaecati aspernatur nemo ut sint. Et recusandae ipsam molestiae cum nobis deserunt voluptatibus.\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"allowed_statuses\": [],\n        \"can_reply\": false,\n        \"updated_at\": \"2026-11-08T14:05:17+00:00\",\n        \"messages\": [\n            {\n                \"id\": \"01a1bb7a-4e78-738e-adac-975fe1e3a072\",\n                \"sender\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Support team\",\n                    \"name\": \"Sandy Balistreri\"\n                },\n                \"body\": \"Resolved, thank you\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"created_at\": \"2026-11-08T14:05:17+00:00\"\n            }\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"body\": \"Resolved, closing this request.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Support Ticket Close With Message",
                                            "_joshen": {
                                                "route": "admin.support-tickets.close",
                                                "name": "Support Ticket Close With Message",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-4e71-72f5-aa5f-038912408bae/close",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Resolved, thank you"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_closing_with_a_message_saves_it_and_sends_one_notice"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-4e71-72f5-aa5f-038912408bae/close",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-4e71-72f5-aa5f-038912408bae",
                                                        "close"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Resolved, thank you\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"The request status was updated.\",\n    \"data\": {\n        \"id\": \"01a1bb7a-4e71-72f5-aa5f-038912408bae\",\n        \"code\": \"SUP-jtel97447536\",\n        \"app\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"user\": {\n            \"id\": \"01a1bb7a-4e6b-7253-ba9e-45a53ea8ee64\",\n            \"full_name\": \"Mae Rosenbaum\",\n            \"phone_code\": \"966\",\n            \"phone\": \"565938605\"\n        },\n        \"reason\": {\n            \"id\": \"01a1bb7a-4e6e-710e-864c-e3ba295a8e72\",\n            \"label\": \"Sample-kbtv24819479\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"status\": {\n            \"value\": \"closed\",\n            \"label\": \"Closed\"\n        },\n        \"assignee\": null,\n        \"order\": null,\n        \"trip\": null,\n        \"created_at\": \"2026-11-08T14:05:17+00:00\",\n        \"closed_at\": \"2026-11-08T14:05:17+00:00\",\n        \"body\": \"Et voluptatem voluptas quaerat nam. Voluptatibus eos illo modi earum in exercitationem a non. Accusantium alias temporibus consequatur magni. Occaecati aspernatur nemo ut sint. Et recusandae ipsam molestiae cum nobis deserunt voluptatibus.\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"allowed_statuses\": [],\n        \"can_reply\": false,\n        \"updated_at\": \"2026-11-08T14:05:17+00:00\",\n        \"messages\": [\n            {\n                \"id\": \"01a1bb7a-4e78-738e-adac-975fe1e3a072\",\n                \"sender\": {\n                    \"value\": \"admin\",\n                    \"label\": \"Support team\",\n                    \"name\": \"Sandy Balistreri\"\n                },\n                \"body\": \"Resolved, thank you\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"created_at\": \"2026-11-08T14:05:17+00:00\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/close",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "close"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Resolved, closing this request.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/close",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "close"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Resolved, closing this request.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/:ticket/close",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        ":ticket",
                                                        "close"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{support_ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Resolved, closing this request.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Support Ticket Close Body Too Short",
                                            "_joshen": {
                                                "route": "admin.support-tickets.close",
                                                "name": "Support Ticket Close Body Too Short",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/support-tickets/01a1bb7a-4e8d-728f-9d59-6f3cec0701c5/close",
                                                    "query": null,
                                                    "body": {
                                                        "body": "x"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupportDeskTest::test_ac_admin_026_closing_with_a_message_saves_it_and_sends_one_notice"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/support-tickets/01a1bb7a-4e8d-728f-9d59-6f3cec0701c5/close",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "support-tickets",
                                                        "01a1bb7a-4e8d-728f-9d59-6f3cec0701c5",
                                                        "close"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"x\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field must be at least 2 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field must be at least 2 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "support_ticket_id",
                                                "set_by": [
                                                    "admin.support-tickets.index",
                                                    "admin.support-tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/support-tickets, GET /api/v1/admin/support-tickets/{ticket}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Reports",
                            "item": [
                                {
                                    "name": "Summary",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/reports/summary",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "reports",
                                                "summary"
                                            ],
                                            "query": [
                                                {
                                                    "key": "from",
                                                    "value": "2026-10-01",
                                                    "description": "First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "to",
                                                    "value": "2026-10-31",
                                                    "description": "Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "limit",
                                                    "value": "10",
                                                    "description": "Rankings only: rows per list, 1–50 (default 10). — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.reports.summary`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `from` — First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)` (optional)\n- `to` — Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)` (optional)\n- `limit` — Rankings only: rows per list, 1–50 (default 10). — `integer` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Report Summary For A Month\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Reports Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Report Window Reversed\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"period\": {\n            \"from\": \"2026-10-01\",\n            \"to\": \"2026-10-31\"\n        },\n        \"accounts\": {\n            \"customers\": {\n                \"total\": 2,\n                \"new\": 1\n            },\n            \"providers\": {\n                \"total\": 1,\n                \"new\": 0,\n                \"approved\": 1\n            },\n            \"drivers\": {\n                \"total\": 1,\n                \"new\": 1,\n                \"approved\": 1\n            }\n        },\n        \"orders\": {\n            \"total\": 3,\n            \"completed\": 1,\n            \"cancelled\": 1,\n            \"rejected\": 0,\n            \"expired\": 0,\n            \"instant\": 1,\n            \"scheduled\": 2,\n            \"by_kind\": {\n                \"service\": 3,\n                \"package_purchase\": 0,\n                \"package_session\": 0\n            },\n            \"delayed\": 1,\n            \"current\": 1\n        },\n        \"trips\": {\n            \"total\": 2,\n            \"completed\": 1,\n            \"no_driver\": 0,\n            \"cancelled\": 0,\n            \"current\": 1\n        },\n        \"payments\": {\n            \"count\": 2,\n            \"total_amount\": \"345.00\",\n            \"orders_amount\": \"115.00\",\n            \"featured_amount\": \"230.00\",\n            \"gateway_fees\": \"2.30\"\n        },\n        \"refunds\": {\n            \"count\": 1,\n            \"amount\": \"40.00\"\n        },\n        \"wallet\": {\n            \"balances_total\": \"40.00\",\n            \"transactions_count\": 1,\n            \"credits\": \"40.00\",\n            \"debits\": \"0.00\"\n        },\n        \"commissions\": {\n            \"provider\": \"15.00\",\n            \"driver\": \"2.50\",\n            \"total\": \"17.50\"\n        },\n        \"transportation_fees\": {\n            \"driver\": \"25.00\",\n            \"provider_self_travel\": \"0.00\",\n            \"total\": \"25.00\"\n        },\n        \"amounts_due\": {\n            \"provider\": {\n                \"due\": \"85.00\",\n                \"transferred\": \"0.00\"\n            },\n            \"driver\": {\n                \"due\": \"0.00\",\n                \"transferred\": \"22.50\"\n            }\n        },\n        \"featured\": {\n            \"active\": 1,\n            \"expired\": 1,\n            \"revenue\": \"230.00\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Report Summary For A Month",
                                            "_joshen": {
                                                "route": "admin.reports.summary",
                                                "name": "Report Summary For A Month",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reports/summary",
                                                    "query": {
                                                        "from": "2026-10-01",
                                                        "to": "2026-10-31"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReportsTest::test_ac_admin_022_october_summary_reconciles_flows_in_the_window_and_standing_figures_now"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/summary?from=2026-10-01&to=2026-10-31",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-01"
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-31"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"period\": {\n            \"from\": \"2026-10-01\",\n            \"to\": \"2026-10-31\"\n        },\n        \"accounts\": {\n            \"customers\": {\n                \"total\": 2,\n                \"new\": 1\n            },\n            \"providers\": {\n                \"total\": 1,\n                \"new\": 0,\n                \"approved\": 1\n            },\n            \"drivers\": {\n                \"total\": 1,\n                \"new\": 1,\n                \"approved\": 1\n            }\n        },\n        \"orders\": {\n            \"total\": 3,\n            \"completed\": 1,\n            \"cancelled\": 1,\n            \"rejected\": 0,\n            \"expired\": 0,\n            \"instant\": 1,\n            \"scheduled\": 2,\n            \"by_kind\": {\n                \"service\": 3,\n                \"package_purchase\": 0,\n                \"package_session\": 0\n            },\n            \"delayed\": 1,\n            \"current\": 1\n        },\n        \"trips\": {\n            \"total\": 2,\n            \"completed\": 1,\n            \"no_driver\": 0,\n            \"cancelled\": 0,\n            \"current\": 1\n        },\n        \"payments\": {\n            \"count\": 2,\n            \"total_amount\": \"345.00\",\n            \"orders_amount\": \"115.00\",\n            \"featured_amount\": \"230.00\",\n            \"gateway_fees\": \"2.30\"\n        },\n        \"refunds\": {\n            \"count\": 1,\n            \"amount\": \"40.00\"\n        },\n        \"wallet\": {\n            \"balances_total\": \"40.00\",\n            \"transactions_count\": 1,\n            \"credits\": \"40.00\",\n            \"debits\": \"0.00\"\n        },\n        \"commissions\": {\n            \"provider\": \"15.00\",\n            \"driver\": \"2.50\",\n            \"total\": \"17.50\"\n        },\n        \"transportation_fees\": {\n            \"driver\": \"25.00\",\n            \"provider_self_travel\": \"0.00\",\n            \"total\": \"25.00\"\n        },\n        \"amounts_due\": {\n            \"provider\": {\n                \"due\": \"85.00\",\n                \"transferred\": \"0.00\"\n            },\n            \"driver\": {\n                \"due\": \"0.00\",\n                \"transferred\": \"22.50\"\n            }\n        },\n        \"featured\": {\n            \"active\": 1,\n            \"expired\": 1,\n            \"revenue\": \"230.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-01",
                                                            "description": "First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-31",
                                                            "description": "Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "limit",
                                                            "value": "10",
                                                            "description": "Rankings only: rows per list, 1–50 (default 10). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Reports Forbidden",
                                            "_joshen": {
                                                "route": "admin.reports.summary",
                                                "name": "Reports Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reports/summary",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReportsTest::test_ac_admin_022_window_validation_and_reports_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "summary"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.reports.summary\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-01",
                                                            "description": "First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-31",
                                                            "description": "Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "limit",
                                                            "value": "10",
                                                            "description": "Rankings only: rows per list, 1–50 (default 10). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-01",
                                                            "description": "First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-31",
                                                            "description": "Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "limit",
                                                            "value": "10",
                                                            "description": "Rankings only: rows per list, 1–50 (default 10). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Report Window Reversed",
                                            "_joshen": {
                                                "route": "admin.reports.summary",
                                                "name": "Report Window Reversed",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reports/summary",
                                                    "query": {
                                                        "from": "2026-10-31",
                                                        "to": "2026-10-01"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReportsTest::test_ac_admin_022_window_validation_and_reports_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/summary?from=2026-10-31&to=2026-10-01",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "summary"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-31"
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-01"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The to field must be a date after or equal to from.\",\n    \"data\": {\n        \"errors\": {\n            \"to\": [\n                \"The to field must be a date after or equal to from.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Rankings",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/reports/rankings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "reports",
                                                "rankings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "from",
                                                    "value": "2026-10-01",
                                                    "description": "First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "to",
                                                    "value": "2026-10-31",
                                                    "description": "Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "limit",
                                                    "value": "10",
                                                    "description": "Rankings only: rows per list, 1–50 (default 10). — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.reports.rankings`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `from` — First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)` (optional)\n- `to` — Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)` (optional)\n- `limit` — Rankings only: rows per list, 1–50 (default 10). — `integer` (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Report Rankings For A Month\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Report Rankings Limit Too High\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"period\": {\n            \"from\": \"2026-10-01\",\n            \"to\": \"2026-10-31\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a19bed-350d-70e8-97ba-a4d788bc59e5\",\n                \"name\": \"Sample-xyay22554184\",\n                \"count\": 3\n            }\n        ],\n        \"packages\": [],\n        \"providers_by_orders\": [\n            {\n                \"id\": \"01a19bed-34fc-725e-8cdd-ad16698e948e\",\n                \"name\": \"Louisa Cremin\",\n                \"count\": 1\n            }\n        ],\n        \"providers_by_rating\": [\n            {\n                \"id\": \"01a19bed-34fc-725e-8cdd-ad16698e948e\",\n                \"name\": \"Louisa Cremin\",\n                \"rating_avg\": \"4.50\",\n                \"rating_count\": 2\n            }\n        ],\n        \"drivers_by_trips\": [\n            {\n                \"id\": \"01a19bed-3500-707a-a92e-e46653e84746\",\n                \"name\": \"Miss Aditya Gorczany Jr.\",\n                \"count\": 1\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Report Rankings For A Month",
                                            "_joshen": {
                                                "route": "admin.reports.rankings",
                                                "name": "Report Rankings For A Month",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reports/rankings",
                                                    "query": {
                                                        "from": "2026-10-01",
                                                        "to": "2026-10-31",
                                                        "limit": "5"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReportsTest::test_ac_admin_022_rankings_list_requested_services_and_top_providers_and_drivers"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/rankings?from=2026-10-01&to=2026-10-31&limit=5",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "rankings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-01"
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-31"
                                                        },
                                                        {
                                                            "key": "limit",
                                                            "value": "5"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"period\": {\n            \"from\": \"2026-10-01\",\n            \"to\": \"2026-10-31\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a19bed-350d-70e8-97ba-a4d788bc59e5\",\n                \"name\": \"Sample-xyay22554184\",\n                \"count\": 3\n            }\n        ],\n        \"packages\": [],\n        \"providers_by_orders\": [\n            {\n                \"id\": \"01a19bed-34fc-725e-8cdd-ad16698e948e\",\n                \"name\": \"Louisa Cremin\",\n                \"count\": 1\n            }\n        ],\n        \"providers_by_rating\": [\n            {\n                \"id\": \"01a19bed-34fc-725e-8cdd-ad16698e948e\",\n                \"name\": \"Louisa Cremin\",\n                \"rating_avg\": \"4.50\",\n                \"rating_count\": 2\n            }\n        ],\n        \"drivers_by_trips\": [\n            {\n                \"id\": \"01a19bed-3500-707a-a92e-e46653e84746\",\n                \"name\": \"Miss Aditya Gorczany Jr.\",\n                \"count\": 1\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/rankings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "rankings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-01",
                                                            "description": "First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-31",
                                                            "description": "Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "limit",
                                                            "value": "10",
                                                            "description": "Rankings only: rows per list, 1–50 (default 10). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/rankings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "rankings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-01",
                                                            "description": "First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-31",
                                                            "description": "Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "limit",
                                                            "value": "10",
                                                            "description": "Rankings only: rows per list, 1–50 (default 10). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/rankings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "rankings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "from",
                                                            "value": "2026-10-01",
                                                            "description": "First day of the window, `YYYY-MM-DD`, inclusive. Omit for \"since the beginning\". Flows (orders, payments, commissions…) are counted in the window; standing figures (amounts due, balances, live orders) are as of now. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "2026-10-31",
                                                            "description": "Last day, `YYYY-MM-DD`, inclusive, not before `from`. Omit for \"up to now\". — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "limit",
                                                            "value": "10",
                                                            "description": "Rankings only: rows per list, 1–50 (default 10). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Report Rankings Limit Too High",
                                            "_joshen": {
                                                "route": "admin.reports.rankings",
                                                "name": "Report Rankings Limit Too High",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/reports/rankings",
                                                    "query": {
                                                        "limit": "51"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ReportsTest::test_ac_admin_022_window_validation_and_reports_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/reports/rankings?limit=51",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "reports",
                                                        "rankings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "limit",
                                                            "value": "51"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The limit field must be between 1 and 50.\",\n    \"data\": {\n        \"errors\": {\n            \"limit\": [\n                \"The limit field must be between 1 and 50.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Geo",
                    "item": [
                        {
                            "name": "Countries",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/countries?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "countries"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[continent]",
                                                    "value": "asia",
                                                    "description": "Filter by continent",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.countries.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n- `filters[continent]` — Filter by continent (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Countries List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": []\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Countries List",
                                            "_joshen": {
                                                "route": "admin.countries.index",
                                                "name": "Countries List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/countries",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_country_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": []\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[continent]",
                                                            "value": "asia",
                                                            "description": "Filter by continent",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[continent]",
                                                            "value": "asia",
                                                            "description": "Filter by continent",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[continent]",
                                                            "value": "asia",
                                                            "description": "Filter by continent",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"country_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/countries",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "countries"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.countries.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** International dialling code without the plus sign, unique across countries; used for phone validation.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `966`\n- **Validation rules:** `required|string|max:5|unique:countries,phone_code,NULL,id`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:5` — must not exceed 5.\n- `unique:countries,phone_code,NULL,id` — must be unique (countries, phone_code, NULL, id).\n### `phone_starting_number`\n- **Description:** Digits a national mobile number starts with in this country.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `5`\n- **Validation rules:** `required|string|max:10`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:10` — must not exceed 10.\n### `phone_length`\n- **Description:** Length of the national mobile number, 5 to 15 digits.\n- **Type:** `integer`\n- **Required:** required\n- **Example:** `9`\n- **Validation rules:** `required|integer|between:5,15`\n- `required` — must be provided.\n- `integer` — must be a whole number.\n- `between:5,15` — must be between 5, 15.\n### `short_name`\n- **Description:** ISO-style country code shown in pickers and used as the X-Country header value (DEC-17).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `SA`\n- **Validation rules:** `required|string|max:10`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:10` — must not exceed 10.\n### `continent`\n- **Description:** Continent of the country.\n- **Type:** `string (enum)`\n- **Allowed values:** `africa`, `europe`, `asia`, `south_america`, `north_america`, `australia`\n- **Required:** required\n- **Example:** `asia`\n- **Validation rules:** `required|in:\"africa\",\"europe\",\"asia\",\"south_america\",\"north_america\",\"australia\"`\n- `required` — must be provided.\n- `in:\"africa\",\"europe\",\"asia\",\"south_america\",\"north_america\",\"australia\"` — must be one of: \"africa\", \"europe\", \"asia\", \"south_america\", \"north_america\", \"australia\".\n### `is_active`\n- **Description:** Switch that makes the country selectable in the apps without deleting it; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `flag`\n- **Description:** Flag image: the `hash` returned by the media upload; leave empty for none (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `nullable|string|custom:MediaExists`\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `en.name`\n- **Description:** English country name (required with the Arabic text on create).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Saudi Arabia`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `en.slug`\n- **Description:** English URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `saudi-arabia`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `en.currency`\n- **Description:** English currency name.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Saudi Riyal`\n- **Validation rules:** `required|string|max:50`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:50` — must not exceed 50.\n### `en.nationality`\n- **Description:** English nationality adjective; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Saudi`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.name`\n- **Description:** Arabic country name (required, TD-12).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `السعودية`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.slug`\n- **Description:** Arabic URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `example-slug`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.currency`\n- **Description:** Arabic currency name (required, TD-12).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `ريال سعودي`\n- **Validation rules:** `required|string|max:50`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:50` — must not exceed 50.\n### `ar.nationality`\n- **Description:** Arabic nationality adjective; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `سعودية`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `country_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Countries Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Countries Missing Fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f3db-7289-a725-409b244029da\",\n        \"name\": \"United Arab Emirates\",\n        \"slug\": null,\n        \"currency\": \"Dirham\",\n        \"nationality\": null,\n        \"phone_code\": \"971\",\n        \"phone_starting_number\": 5,\n        \"phone_length\": 9,\n        \"short_name\": \"AE\",\n        \"continent\": \"asia\",\n        \"flag\": \"https://ui-avatars.com/api/?name=🏳&background=e5e7eb&color=6b7280&size=128\",\n        \"is_active\": true,\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"updated_at\": \"2026-11-08 10:35:11\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"phone_code\": \"966\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"SA\",\n    \"continent\": \"asia\",\n    \"is_active\": true,\n    \"flag\": null,\n    \"en\": {\n        \"name\": \"Saudi Arabia\",\n        \"slug\": \"saudi-arabia\",\n        \"currency\": \"Saudi Riyal\",\n        \"nationality\": \"Saudi\"\n    },\n    \"ar\": {\n        \"name\": \"السعودية\",\n        \"slug\": \"example-slug\",\n        \"currency\": \"ريال سعودي\",\n        \"nationality\": \"سعودية\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Countries Created",
                                            "_joshen": {
                                                "route": "admin.countries.store",
                                                "name": "Countries Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/countries",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "971",
                                                        "phone_starting_number": "5",
                                                        "phone_length": 9,
                                                        "short_name": "AE",
                                                        "continent": "asia",
                                                        "ar": {
                                                            "name": "الإمارات",
                                                            "currency": "درهم"
                                                        },
                                                        "en": {
                                                            "name": "United Arab Emirates",
                                                            "currency": "Dirham"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_country_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"971\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"AE\",\n    \"continent\": \"asia\",\n    \"ar\": {\n        \"name\": \"الإمارات\",\n        \"currency\": \"درهم\"\n    },\n    \"en\": {\n        \"name\": \"United Arab Emirates\",\n        \"currency\": \"Dirham\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f3db-7289-a725-409b244029da\",\n        \"name\": \"United Arab Emirates\",\n        \"slug\": null,\n        \"currency\": \"Dirham\",\n        \"nationality\": null,\n        \"phone_code\": \"971\",\n        \"phone_starting_number\": 5,\n        \"phone_length\": 9,\n        \"short_name\": \"AE\",\n        \"continent\": \"asia\",\n        \"flag\": \"https://ui-avatars.com/api/?name=🏳&background=e5e7eb&color=6b7280&size=128\",\n        \"is_active\": true,\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"updated_at\": \"2026-11-08 10:35:11\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"SA\",\n    \"continent\": \"asia\",\n    \"is_active\": true,\n    \"flag\": null,\n    \"en\": {\n        \"name\": \"Saudi Arabia\",\n        \"slug\": \"saudi-arabia\",\n        \"currency\": \"Saudi Riyal\",\n        \"nationality\": \"Saudi\"\n    },\n    \"ar\": {\n        \"name\": \"السعودية\",\n        \"slug\": \"example-slug\",\n        \"currency\": \"ريال سعودي\",\n        \"nationality\": \"سعودية\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"SA\",\n    \"continent\": \"asia\",\n    \"is_active\": true,\n    \"flag\": null,\n    \"en\": {\n        \"name\": \"Saudi Arabia\",\n        \"slug\": \"saudi-arabia\",\n        \"currency\": \"Saudi Riyal\",\n        \"nationality\": \"Saudi\"\n    },\n    \"ar\": {\n        \"name\": \"السعودية\",\n        \"slug\": \"example-slug\",\n        \"currency\": \"ريال سعودي\",\n        \"nationality\": \"سعودية\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"SA\",\n    \"continent\": \"asia\",\n    \"is_active\": true,\n    \"flag\": null,\n    \"en\": {\n        \"name\": \"Saudi Arabia\",\n        \"slug\": \"saudi-arabia\",\n        \"currency\": \"Saudi Riyal\",\n        \"nationality\": \"Saudi\"\n    },\n    \"ar\": {\n        \"name\": \"السعودية\",\n        \"slug\": \"example-slug\",\n        \"currency\": \"ريال سعودي\",\n        \"nationality\": \"سعودية\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Countries Missing Fields",
                                            "_joshen": {
                                                "route": "admin.countries.store",
                                                "name": "Countries Missing Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/countries",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_country_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Phone Code field is required. (and 8 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"phone_code\": [\n                \"The Phone Code field is required.\"\n            ],\n            \"phone_starting_number\": [\n                \"The Phone Starting Number field is required.\"\n            ],\n            \"phone_length\": [\n                \"The Phone Length field is required.\"\n            ],\n            \"short_name\": [\n                \"The Short Name field is required.\"\n            ],\n            \"continent\": [\n                \"The Continent field is required.\"\n            ],\n            \"en.name\": [\n                \"The Name (en) field is required.\"\n            ],\n            \"en.currency\": [\n                \"The Currency (en) field is required.\"\n            ],\n            \"ar.name\": [\n                \"The Name (ar) field is required.\"\n            ],\n            \"ar.currency\": [\n                \"The Currency (ar) field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "country_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"country_id\",\"Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"country_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "countries",
                                                ":country"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "country",
                                                    "value": "{{country_id}}",
                                                    "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.countries.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{country_id}}` — Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `country_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Countries Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f3db-7289-a725-409b244029da\",\n        \"name\": \"United Arab Emirates\",\n        \"slug\": null,\n        \"currency\": \"Dirham\",\n        \"nationality\": null,\n        \"phone_code\": \"971\",\n        \"phone_starting_number\": 5,\n        \"phone_length\": 9,\n        \"short_name\": \"AE\",\n        \"continent\": \"asia\",\n        \"flag\": \"https://ui-avatars.com/api/?name=🏳&background=e5e7eb&color=6b7280&size=128\",\n        \"is_active\": true,\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"updated_at\": \"2026-11-08 10:35:11\",\n        \"en\": {\n            \"name\": \"United Arab Emirates\",\n            \"slug\": null,\n            \"currency\": \"Dirham\",\n            \"nationality\": null\n        },\n        \"ar\": {\n            \"name\": \"الإمارات\",\n            \"slug\": null,\n            \"currency\": \"درهم\",\n            \"nationality\": null\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Countries Details",
                                            "_joshen": {
                                                "route": "admin.countries.show",
                                                "name": "Countries Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/countries/01a1bab9-f3db-7289-a725-409b244029da",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_country_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/01a1bab9-f3db-7289-a725-409b244029da",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        "01a1bab9-f3db-7289-a725-409b244029da"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f3db-7289-a725-409b244029da\",\n        \"name\": \"United Arab Emirates\",\n        \"slug\": null,\n        \"currency\": \"Dirham\",\n        \"nationality\": null,\n        \"phone_code\": \"971\",\n        \"phone_starting_number\": 5,\n        \"phone_length\": 9,\n        \"short_name\": \"AE\",\n        \"continent\": \"asia\",\n        \"flag\": \"https://ui-avatars.com/api/?name=🏳&background=e5e7eb&color=6b7280&size=128\",\n        \"is_active\": true,\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"updated_at\": \"2026-11-08 10:35:11\",\n        \"en\": {\n            \"name\": \"United Arab Emirates\",\n            \"slug\": null,\n            \"currency\": \"Dirham\",\n            \"nationality\": null\n        },\n        \"ar\": {\n            \"name\": \"الإمارات\",\n            \"slug\": null,\n            \"currency\": \"درهم\",\n            \"nationality\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "country_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "country_id",
                                                "set_by": [
                                                    "admin.countries.store",
                                                    "admin.countries.show",
                                                    "admin.countries.update",
                                                    "client.geo.countries"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"country_id\",\"Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"country_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "countries",
                                                ":country"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "country",
                                                    "value": "{{country_id}}",
                                                    "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.countries.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** International dialling code without the plus sign, unique across countries; used for phone validation.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `966`\n- **Validation rules:** `sometimes|string|max:5|unique:countries,phone_code,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:5` — must not exceed 5.\n- `unique:countries,phone_code,NULL,id` — must be unique (countries, phone_code, NULL, id).\n### `phone_starting_number`\n- **Description:** Digits a national mobile number starts with in this country.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `5`\n- **Validation rules:** `sometimes|string|max:10`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:10` — must not exceed 10.\n### `phone_length`\n- **Description:** Length of the national mobile number, 5 to 15 digits.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `9`\n- **Validation rules:** `sometimes|integer|between:5,15`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:5,15` — must be between 5, 15.\n### `short_name`\n- **Description:** ISO-style country code shown in pickers and used as the X-Country header value (DEC-17).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `SA`\n- **Validation rules:** `sometimes|string|max:10`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:10` — must not exceed 10.\n### `continent`\n- **Description:** Continent of the country.\n- **Type:** `string (enum)`\n- **Allowed values:** `africa`, `europe`, `asia`, `south_america`, `north_america`, `australia`\n- **Required:** optional\n- **Example:** `asia`\n- **Validation rules:** `sometimes|in:\"africa\",\"europe\",\"asia\",\"south_america\",\"north_america\",\"australia\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"africa\",\"europe\",\"asia\",\"south_america\",\"north_america\",\"australia\"` — must be one of: \"africa\", \"europe\", \"asia\", \"south_america\", \"north_america\", \"australia\".\n### `is_active`\n- **Description:** Switch that makes the country selectable in the apps without deleting it; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `flag`\n- **Description:** Flag image: the `hash` returned by the media upload; leave empty for none (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `nullable|string|custom:MediaExists`\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `en.name`\n- **Description:** English country name (required with the Arabic text on create).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Saudi Arabia`\n- **Validation rules:** `sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `en.slug`\n- **Description:** English URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `saudi-arabia`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `en.currency`\n- **Description:** English currency name.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Saudi Riyal`\n- **Validation rules:** `sometimes|string|max:50`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:50` — must not exceed 50.\n### `en.nationality`\n- **Description:** English nationality adjective; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Saudi`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.name`\n- **Description:** Arabic country name (required, TD-12).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `السعودية`\n- **Validation rules:** `sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.slug`\n- **Description:** Arabic URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `example-slug`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.currency`\n- **Description:** Arabic currency name (required, TD-12).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `ريال سعودي`\n- **Validation rules:** `sometimes|string|max:50`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:50` — must not exceed 50.\n### `ar.nationality`\n- **Description:** Arabic nationality adjective; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `سعودية`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{country_id}}` — Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `country_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Countries Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Countries Update Invalid Length\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f3db-7289-a725-409b244029da\",\n        \"name\": \"United Arab Emirates\",\n        \"slug\": null,\n        \"currency\": \"UAE Dirham\",\n        \"nationality\": null,\n        \"phone_code\": \"971\",\n        \"phone_starting_number\": 5,\n        \"phone_length\": 9,\n        \"short_name\": \"AE\",\n        \"continent\": \"asia\",\n        \"flag\": \"https://ui-avatars.com/api/?name=🏳&background=e5e7eb&color=6b7280&size=128\",\n        \"is_active\": false,\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"updated_at\": \"2026-11-08 10:35:11\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"phone_code\": \"966\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"SA\",\n    \"continent\": \"asia\",\n    \"is_active\": true,\n    \"flag\": null,\n    \"en\": {\n        \"name\": \"Saudi Arabia\",\n        \"slug\": \"saudi-arabia\",\n        \"currency\": \"Saudi Riyal\",\n        \"nationality\": \"Saudi\"\n    },\n    \"ar\": {\n        \"name\": \"السعودية\",\n        \"slug\": \"example-slug\",\n        \"currency\": \"ريال سعودي\",\n        \"nationality\": \"سعودية\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Countries Updated",
                                            "_joshen": {
                                                "route": "admin.countries.update",
                                                "name": "Countries Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/countries/01a1bab9-f3db-7289-a725-409b244029da",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": false,
                                                        "en": {
                                                            "currency": "UAE Dirham"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_country_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/01a1bab9-f3db-7289-a725-409b244029da",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        "01a1bab9-f3db-7289-a725-409b244029da"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": false,\n    \"en\": {\n        \"currency\": \"UAE Dirham\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f3db-7289-a725-409b244029da\",\n        \"name\": \"United Arab Emirates\",\n        \"slug\": null,\n        \"currency\": \"UAE Dirham\",\n        \"nationality\": null,\n        \"phone_code\": \"971\",\n        \"phone_starting_number\": 5,\n        \"phone_length\": 9,\n        \"short_name\": \"AE\",\n        \"continent\": \"asia\",\n        \"flag\": \"https://ui-avatars.com/api/?name=🏳&background=e5e7eb&color=6b7280&size=128\",\n        \"is_active\": false,\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"updated_at\": \"2026-11-08 10:35:11\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"SA\",\n    \"continent\": \"asia\",\n    \"is_active\": true,\n    \"flag\": null,\n    \"en\": {\n        \"name\": \"Saudi Arabia\",\n        \"slug\": \"saudi-arabia\",\n        \"currency\": \"Saudi Riyal\",\n        \"nationality\": \"Saudi\"\n    },\n    \"ar\": {\n        \"name\": \"السعودية\",\n        \"slug\": \"example-slug\",\n        \"currency\": \"ريال سعودي\",\n        \"nationality\": \"سعودية\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"SA\",\n    \"continent\": \"asia\",\n    \"is_active\": true,\n    \"flag\": null,\n    \"en\": {\n        \"name\": \"Saudi Arabia\",\n        \"slug\": \"saudi-arabia\",\n        \"currency\": \"Saudi Riyal\",\n        \"nationality\": \"Saudi\"\n    },\n    \"ar\": {\n        \"name\": \"السعودية\",\n        \"slug\": \"example-slug\",\n        \"currency\": \"ريال سعودي\",\n        \"nationality\": \"سعودية\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone_starting_number\": \"5\",\n    \"phone_length\": 9,\n    \"short_name\": \"SA\",\n    \"continent\": \"asia\",\n    \"is_active\": true,\n    \"flag\": null,\n    \"en\": {\n        \"name\": \"Saudi Arabia\",\n        \"slug\": \"saudi-arabia\",\n        \"currency\": \"Saudi Riyal\",\n        \"nationality\": \"Saudi\"\n    },\n    \"ar\": {\n        \"name\": \"السعودية\",\n        \"slug\": \"example-slug\",\n        \"currency\": \"ريال سعودي\",\n        \"nationality\": \"سعودية\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Countries Update Invalid Length",
                                            "_joshen": {
                                                "route": "admin.countries.update",
                                                "name": "Countries Update Invalid Length",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/countries/01a1bab9-f3db-7289-a725-409b244029da",
                                                    "query": null,
                                                    "body": {
                                                        "phone_length": 99
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_country_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/01a1bab9-f3db-7289-a725-409b244029da",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        "01a1bab9-f3db-7289-a725-409b244029da"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_length\": 99\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Phone Length field must be between 5 and 15.\",\n    \"data\": {\n        \"errors\": {\n            \"phone_length\": [\n                \"The Phone Length field must be between 5 and 15.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "country_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "country_id",
                                                "set_by": [
                                                    "admin.countries.store",
                                                    "admin.countries.show",
                                                    "admin.countries.update",
                                                    "client.geo.countries"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"country_id\",\"Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "countries",
                                                ":country"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "country",
                                                    "value": "{{country_id}}",
                                                    "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.countries.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{country_id}}` — Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Countries Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Country In Use Cannot Be Deleted — `error_code: SERVICE_AREA_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Countries Deleted",
                                            "_joshen": {
                                                "route": "admin.countries.destroy",
                                                "name": "Countries Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/countries/01a1bab9-f3db-7289-a725-409b244029da",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_country_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/01a1bab9-f3db-7289-a725-409b244029da",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        "01a1bab9-f3db-7289-a725-409b244029da"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/:country",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        ":country"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "country",
                                                            "value": "{{country_id}}",
                                                            "description": "Record uuid. Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Country In Use Cannot Be Deleted",
                                            "_joshen": {
                                                "route": "admin.countries.destroy",
                                                "name": "Country In Use Cannot Be Deleted",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/countries/01a1c48f-b754-717e-8368-3ad7ea94da03",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_area_in_use_cannot_be_deleted"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/countries/01a1c48f-b754-717e-8368-3ad7ea94da03",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "countries",
                                                        "01a1c48f-b754-717e-8368-3ad7ea94da03"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This area is used by accounts, addresses or orders. Disable it instead of deleting it.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_IN_USE\",\n        \"correlation_id\": \"9e49ff7d-d0ba-40e8-b11b-24ae51cdeadc\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "country_id",
                                                "set_by": [
                                                    "admin.countries.store",
                                                    "admin.countries.show",
                                                    "admin.countries.update",
                                                    "client.geo.countries"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Governorates",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"governorate_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/governorates?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "governorates"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[country_id]",
                                                    "value": "1",
                                                    "description": "Filter by country ID",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.governorates.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status (optional)\n- `filters[country_id]` — Filter by country ID (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `governorate_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Governorates List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab9-f658-73ab-be7b-78888d968235\",\n            \"name\": \"Riyadh\",\n            \"slug\": null,\n            \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"sort_order\": 1,\n            \"is_active\": true,\n            \"country\": {\n                \"id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n                \"name\": \"Sample-dliz71454912\",\n                \"short_name\": \"SA\",\n                \"phone_code\": \"966\"\n            },\n            \"created_at\": \"2026-11-08 10:35:11\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Governorates List",
                                            "_joshen": {
                                                "route": "admin.governorates.index",
                                                "name": "Governorates List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/governorates",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_governorate_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab9-f658-73ab-be7b-78888d968235\",\n            \"name\": \"Riyadh\",\n            \"slug\": null,\n            \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"sort_order\": 1,\n            \"is_active\": true,\n            \"country\": {\n                \"id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n                \"name\": \"Sample-dliz71454912\",\n                \"short_name\": \"SA\",\n                \"phone_code\": \"966\"\n            },\n            \"created_at\": \"2026-11-08 10:35:11\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[country_id]",
                                                            "value": "1",
                                                            "description": "Filter by country ID",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[country_id]",
                                                            "value": "1",
                                                            "description": "Filter by country ID",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[country_id]",
                                                            "value": "1",
                                                            "description": "Filter by country ID",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "governorate_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"country_id\",\"Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"governorate_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/governorates",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "governorates"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.governorates.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `country_id`\n- **Description:** Country (`countries`) the BRD city belongs to. Send its uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `countries` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{country_id}}`\n- **Validation rules:** `required|uuid|exists:countries,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:countries,uuid` — must reference an existing record (countries, uuid).\n### `lat`\n- **Description:** Latitude of the city centre, between -90 and 90; used by distance rules (BR-11).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `24.7136`\n- **Validation rules:** `nullable|numeric|between:-90,90`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Longitude of the city centre, between -180 and 180.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `46.6753`\n- **Validation rules:** `nullable|numeric|between:-180,180`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n### `is_active`\n- **Description:** Switch that makes the city selectable for addresses and coverage without deleting it; true by default (BR-08).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Display order in pickers, lowest first.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `nullable|integer`\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n### `en.name`\n- **Description:** English city name.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Riyadh`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `en.slug`\n- **Description:** English URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `riyadh`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.name`\n- **Description:** Arabic city name (required, TD-12).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `الرياض`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.slug`\n- **Description:** Arabic URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `example-slug`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{country_id}}` — Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\n- Saves `governorate_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Governorates Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Governorates Missing Fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f658-73ab-be7b-78888d968235\",\n        \"name\": \"Riyadh\",\n        \"slug\": null,\n        \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n        \"lat\": 24.7136,\n        \"lng\": 46.6753,\n        \"sort_order\": 1,\n        \"is_active\": true,\n        \"country\": {\n            \"id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n            \"name\": \"Sample-dliz71454912\",\n            \"short_name\": \"SA\",\n            \"phone_code\": \"966\"\n        },\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"regions\": [],\n        \"updated_at\": \"2026-11-08 10:35:11\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"country_id\": \"{{country_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Riyadh\",\n        \"slug\": \"riyadh\"\n    },\n    \"ar\": {\n        \"name\": \"الرياض\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Governorates Created",
                                            "_joshen": {
                                                "route": "admin.governorates.store",
                                                "name": "Governorates Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/governorates",
                                                    "query": null,
                                                    "body": {
                                                        "country_id": "01a1bab9-f64c-7315-aaf5-d1378eaefc94",
                                                        "lat": 24.7136,
                                                        "lng": 46.6753,
                                                        "sort_order": 1,
                                                        "ar": {
                                                            "name": "الرياض"
                                                        },
                                                        "en": {
                                                            "name": "Riyadh"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_governorate_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"sort_order\": 1,\n    \"ar\": {\n        \"name\": \"الرياض\"\n    },\n    \"en\": {\n        \"name\": \"Riyadh\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f658-73ab-be7b-78888d968235\",\n        \"name\": \"Riyadh\",\n        \"slug\": null,\n        \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n        \"lat\": 24.7136,\n        \"lng\": 46.6753,\n        \"sort_order\": 1,\n        \"is_active\": true,\n        \"country\": {\n            \"id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n            \"name\": \"Sample-dliz71454912\",\n            \"short_name\": \"SA\",\n            \"phone_code\": \"966\"\n        },\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"regions\": [],\n        \"updated_at\": \"2026-11-08 10:35:11\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"country_id\": \"{{country_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Riyadh\",\n        \"slug\": \"riyadh\"\n    },\n    \"ar\": {\n        \"name\": \"الرياض\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"country_id\": \"{{country_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Riyadh\",\n        \"slug\": \"riyadh\"\n    },\n    \"ar\": {\n        \"name\": \"الرياض\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"country_id\": \"{{country_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Riyadh\",\n        \"slug\": \"riyadh\"\n    },\n    \"ar\": {\n        \"name\": \"الرياض\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Governorates Missing Fields",
                                            "_joshen": {
                                                "route": "admin.governorates.store",
                                                "name": "Governorates Missing Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/governorates",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_governorate_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Country field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"country_id\": [\n                \"The Country field is required.\"\n            ],\n            \"en.name\": [\n                \"The Name (en) field is required.\"\n            ],\n            \"ar.name\": [\n                \"The Name (ar) field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "governorate_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "country_id",
                                                "set_by": [
                                                    "admin.countries.store",
                                                    "admin.countries.show",
                                                    "admin.countries.update",
                                                    "client.geo.countries"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"governorate_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "governorates",
                                                ":governorate"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "governorate",
                                                    "value": "{{governorate_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.governorates.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `governorate_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Governorates Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f658-73ab-be7b-78888d968235\",\n        \"name\": \"Riyadh\",\n        \"slug\": null,\n        \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n        \"lat\": 24.7136,\n        \"lng\": 46.6753,\n        \"sort_order\": 1,\n        \"is_active\": true,\n        \"country\": {\n            \"id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n            \"name\": \"Sample-dliz71454912\",\n            \"short_name\": \"SA\",\n            \"phone_code\": \"966\"\n        },\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"regions\": [],\n        \"updated_at\": \"2026-11-08 10:35:11\",\n        \"en\": {\n            \"name\": \"Riyadh\",\n            \"slug\": null\n        },\n        \"ar\": {\n            \"name\": \"الرياض\",\n            \"slug\": null\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Governorates Details",
                                            "_joshen": {
                                                "route": "admin.governorates.show",
                                                "name": "Governorates Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/governorates/01a1bab9-f658-73ab-be7b-78888d968235",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_governorate_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/01a1bab9-f658-73ab-be7b-78888d968235",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        "01a1bab9-f658-73ab-be7b-78888d968235"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f658-73ab-be7b-78888d968235\",\n        \"name\": \"Riyadh\",\n        \"slug\": null,\n        \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n        \"lat\": 24.7136,\n        \"lng\": 46.6753,\n        \"sort_order\": 1,\n        \"is_active\": true,\n        \"country\": {\n            \"id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n            \"name\": \"Sample-dliz71454912\",\n            \"short_name\": \"SA\",\n            \"phone_code\": \"966\"\n        },\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"regions\": [],\n        \"updated_at\": \"2026-11-08 10:35:11\",\n        \"en\": {\n            \"name\": \"Riyadh\",\n            \"slug\": null\n        },\n        \"ar\": {\n            \"name\": \"الرياض\",\n            \"slug\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "governorate_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"country_id\",\"Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"governorate_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "governorates",
                                                ":governorate"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "governorate",
                                                    "value": "{{governorate_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.governorates.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `country_id`\n- **Description:** Country (`countries`) the BRD city belongs to. Send its uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `countries` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{country_id}}`\n- **Validation rules:** `sometimes|uuid|exists:countries,uuid`\n- `sometimes` — validated only when the field is present.\n- `uuid` — must be a uuid.\n- `exists:countries,uuid` — must reference an existing record (countries, uuid).\n### `lat`\n- **Description:** Latitude of the city centre, between -90 and 90; used by distance rules (BR-11).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `24.7136`\n- **Validation rules:** `nullable|numeric|between:-90,90`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Longitude of the city centre, between -180 and 180.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `46.6753`\n- **Validation rules:** `nullable|numeric|between:-180,180`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n### `is_active`\n- **Description:** Switch that makes the city selectable for addresses and coverage without deleting it; true by default (BR-08).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Display order in pickers, lowest first.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `nullable|integer`\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n### `en.name`\n- **Description:** English city name.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Riyadh`\n- **Validation rules:** `sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `en.slug`\n- **Description:** English URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `riyadh`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.name`\n- **Description:** Arabic city name (required, TD-12).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `الرياض`\n- **Validation rules:** `sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.slug`\n- **Description:** Arabic URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `example-slug`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{country_id}}` — Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries.\n- Saves `governorate_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Governorates Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Governorates Update Invalid Latitude\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f658-73ab-be7b-78888d968235\",\n        \"name\": \"Riyadh\",\n        \"slug\": null,\n        \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n        \"lat\": 24.7136,\n        \"lng\": 46.6753,\n        \"sort_order\": 1,\n        \"is_active\": false,\n        \"country\": {\n            \"id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n            \"name\": \"Sample-dliz71454912\",\n            \"short_name\": \"SA\",\n            \"phone_code\": \"966\"\n        },\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"regions\": [],\n        \"updated_at\": \"2026-11-08 10:35:11\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"country_id\": \"{{country_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Riyadh\",\n        \"slug\": \"riyadh\"\n    },\n    \"ar\": {\n        \"name\": \"الرياض\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Governorates Updated",
                                            "_joshen": {
                                                "route": "admin.governorates.update",
                                                "name": "Governorates Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/governorates/01a1bab9-f658-73ab-be7b-78888d968235",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_governorate_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/01a1bab9-f658-73ab-be7b-78888d968235",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        "01a1bab9-f658-73ab-be7b-78888d968235"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f658-73ab-be7b-78888d968235\",\n        \"name\": \"Riyadh\",\n        \"slug\": null,\n        \"country_id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n        \"lat\": 24.7136,\n        \"lng\": 46.6753,\n        \"sort_order\": 1,\n        \"is_active\": false,\n        \"country\": {\n            \"id\": \"01a1bab9-f64c-7315-aaf5-d1378eaefc94\",\n            \"name\": \"Sample-dliz71454912\",\n            \"short_name\": \"SA\",\n            \"phone_code\": \"966\"\n        },\n        \"created_at\": \"2026-11-08 10:35:11\",\n        \"regions\": [],\n        \"updated_at\": \"2026-11-08 10:35:11\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"country_id\": \"{{country_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Riyadh\",\n        \"slug\": \"riyadh\"\n    },\n    \"ar\": {\n        \"name\": \"الرياض\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"country_id\": \"{{country_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Riyadh\",\n        \"slug\": \"riyadh\"\n    },\n    \"ar\": {\n        \"name\": \"الرياض\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"country_id\": \"{{country_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Riyadh\",\n        \"slug\": \"riyadh\"\n    },\n    \"ar\": {\n        \"name\": \"الرياض\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Governorates Update Invalid Latitude",
                                            "_joshen": {
                                                "route": "admin.governorates.update",
                                                "name": "Governorates Update Invalid Latitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/governorates/01a1bab9-f658-73ab-be7b-78888d968235",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 120
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_governorate_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/01a1bab9-f658-73ab-be7b-78888d968235",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        "01a1bab9-f658-73ab-be7b-78888d968235"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 120\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Latitude field must be between -90 and 90.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The Latitude field must be between -90 and 90.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "governorate_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "country_id",
                                                "set_by": [
                                                    "admin.countries.store",
                                                    "admin.countries.show",
                                                    "admin.countries.update",
                                                    "client.geo.countries"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/countries, GET /api/v1/admin/countries/{country}, PUT /api/v1/admin/countries/{country}, GET /api/v1/client/countries."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "governorates",
                                                ":governorate"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "governorate",
                                                    "value": "{{governorate_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.governorates.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Governorates Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` City In Use Cannot Be Deleted — `error_code: SERVICE_AREA_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Governorates Deleted",
                                            "_joshen": {
                                                "route": "admin.governorates.destroy",
                                                "name": "Governorates Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/governorates/01a1bab9-f658-73ab-be7b-78888d968235",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_governorate_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/01a1bab9-f658-73ab-be7b-78888d968235",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        "01a1bab9-f658-73ab-be7b-78888d968235"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/:governorate",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        ":governorate"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "governorate",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 City In Use Cannot Be Deleted",
                                            "_joshen": {
                                                "route": "admin.governorates.destroy",
                                                "name": "City In Use Cannot Be Deleted",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/governorates/01a1c48f-b575-7328-b0fa-50c68386ebaa",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_area_in_use_cannot_be_deleted"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/governorates/01a1c48f-b575-7328-b0fa-50c68386ebaa",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "governorates",
                                                        "01a1c48f-b575-7328-b0fa-50c68386ebaa"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This area is used by accounts, addresses or orders. Disable it instead of deleting it.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_IN_USE\",\n        \"correlation_id\": \"580bdc29-1233-46cb-b867-97a18fc2aae8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Regions",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"region_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/regions?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "regions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[governorate_id]",
                                                    "value": "1",
                                                    "description": "Filter by governorate ID",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.regions.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status (optional)\n- `filters[governorate_id]` — Filter by governorate ID (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `region_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Regions List\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab9-f919-72e1-ad1d-866c8e18c725\",\n            \"name\": \"Al Nakheel\",\n            \"slug\": null,\n            \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n            \"lat\": 24.74,\n            \"lng\": 46.69,\n            \"sort_order\": 2,\n            \"is_active\": true,\n            \"governorate\": {\n                \"id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n                \"name\": \"Sample-ticf44358290\"\n            },\n            \"created_at\": \"2026-11-08 10:35:12\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Regions List",
                                            "_joshen": {
                                                "route": "admin.regions.index",
                                                "name": "Regions List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/regions",
                                                    "query": {
                                                        "paginate": "false"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_region_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions?paginate=false",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab9-f919-72e1-ad1d-866c8e18c725\",\n            \"name\": \"Al Nakheel\",\n            \"slug\": null,\n            \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n            \"lat\": 24.74,\n            \"lng\": 46.69,\n            \"sort_order\": 2,\n            \"is_active\": true,\n            \"governorate\": {\n                \"id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n                \"name\": \"Sample-ticf44358290\"\n            },\n            \"created_at\": \"2026-11-08 10:35:12\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[governorate_id]",
                                                            "value": "1",
                                                            "description": "Filter by governorate ID",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[governorate_id]",
                                                            "value": "1",
                                                            "description": "Filter by governorate ID",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[governorate_id]",
                                                            "value": "1",
                                                            "description": "Filter by governorate ID",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "region_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"region_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/regions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "regions"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.regions.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `governorate_id`\n- **Description:** BRD city (`governorates`) the district belongs to; district = region. Send its uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `required|uuid|exists:governorates,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `lat`\n- **Description:** Latitude of the district centre, between -90 and 90; used by distance rules (BR-11).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `24.7136`\n- **Validation rules:** `nullable|numeric|between:-90,90`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Longitude of the district centre, between -180 and 180.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `46.6753`\n- **Validation rules:** `nullable|numeric|between:-180,180`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n### `is_active`\n- **Description:** Switch that makes the district selectable for addresses and coverage without deleting it; true by default (BR-08).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Display order in pickers, lowest first.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `nullable|integer`\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n### `en.name`\n- **Description:** English district name.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Al Nakheel`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `en.slug`\n- **Description:** English URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `al-nakheel`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.name`\n- **Description:** Arabic district name (required, TD-12).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `حي النخيل`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.slug`\n- **Description:** Arabic URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `example-slug`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Saves `region_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Regions Created\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Regions Missing Fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f919-72e1-ad1d-866c8e18c725\",\n        \"name\": \"Al Nakheel\",\n        \"slug\": null,\n        \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n        \"lat\": 24.74,\n        \"lng\": 46.69,\n        \"sort_order\": 2,\n        \"is_active\": true,\n        \"governorate\": {\n            \"id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n            \"name\": \"Sample-ticf44358290\"\n        },\n        \"created_at\": \"2026-11-08 10:35:12\",\n        \"updated_at\": \"2026-11-08 10:35:12\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"governorate_id\": \"{{governorate_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Al Nakheel\",\n        \"slug\": \"al-nakheel\"\n    },\n    \"ar\": {\n        \"name\": \"حي النخيل\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Regions Created",
                                            "_joshen": {
                                                "route": "admin.regions.store",
                                                "name": "Regions Created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/regions",
                                                    "query": null,
                                                    "body": {
                                                        "governorate_id": "01a1bab9-f90b-70b8-ace5-70a3b47cf7bb",
                                                        "lat": 24.74,
                                                        "lng": 46.69,
                                                        "sort_order": 2,
                                                        "ar": {
                                                            "name": "حي النخيل"
                                                        },
                                                        "en": {
                                                            "name": "Al Nakheel"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_region_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n    \"lat\": 24.74,\n    \"lng\": 46.69,\n    \"sort_order\": 2,\n    \"ar\": {\n        \"name\": \"حي النخيل\"\n    },\n    \"en\": {\n        \"name\": \"Al Nakheel\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f919-72e1-ad1d-866c8e18c725\",\n        \"name\": \"Al Nakheel\",\n        \"slug\": null,\n        \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n        \"lat\": 24.74,\n        \"lng\": 46.69,\n        \"sort_order\": 2,\n        \"is_active\": true,\n        \"governorate\": {\n            \"id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n            \"name\": \"Sample-ticf44358290\"\n        },\n        \"created_at\": \"2026-11-08 10:35:12\",\n        \"updated_at\": \"2026-11-08 10:35:12\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"governorate_id\": \"{{governorate_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Al Nakheel\",\n        \"slug\": \"al-nakheel\"\n    },\n    \"ar\": {\n        \"name\": \"حي النخيل\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"governorate_id\": \"{{governorate_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Al Nakheel\",\n        \"slug\": \"al-nakheel\"\n    },\n    \"ar\": {\n        \"name\": \"حي النخيل\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"governorate_id\": \"{{governorate_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Al Nakheel\",\n        \"slug\": \"al-nakheel\"\n    },\n    \"ar\": {\n        \"name\": \"حي النخيل\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Regions Missing Fields",
                                            "_joshen": {
                                                "route": "admin.regions.store",
                                                "name": "Regions Missing Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/regions",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_region_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Governorate field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"governorate_id\": [\n                \"The Governorate field is required.\"\n            ],\n            \"en.name\": [\n                \"The Name (en) field is required.\"\n            ],\n            \"ar.name\": [\n                \"The Name (ar) field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "region_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"region_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "regions",
                                                ":region"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "region",
                                                    "value": "{{region_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.regions.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `region_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Regions Details\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f919-72e1-ad1d-866c8e18c725\",\n        \"name\": \"Al Nakheel\",\n        \"slug\": null,\n        \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n        \"lat\": 24.74,\n        \"lng\": 46.69,\n        \"sort_order\": 2,\n        \"is_active\": true,\n        \"governorate\": {\n            \"id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n            \"name\": \"Sample-ticf44358290\"\n        },\n        \"created_at\": \"2026-11-08 10:35:12\",\n        \"updated_at\": \"2026-11-08 10:35:12\",\n        \"en\": {\n            \"name\": \"Al Nakheel\",\n            \"slug\": null\n        },\n        \"ar\": {\n            \"name\": \"حي النخيل\",\n            \"slug\": null\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Regions Details",
                                            "_joshen": {
                                                "route": "admin.regions.show",
                                                "name": "Regions Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/regions/01a1bab9-f919-72e1-ad1d-866c8e18c725",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_region_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/01a1bab9-f919-72e1-ad1d-866c8e18c725",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        "01a1bab9-f919-72e1-ad1d-866c8e18c725"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f919-72e1-ad1d-866c8e18c725\",\n        \"name\": \"Al Nakheel\",\n        \"slug\": null,\n        \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n        \"lat\": 24.74,\n        \"lng\": 46.69,\n        \"sort_order\": 2,\n        \"is_active\": true,\n        \"governorate\": {\n            \"id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n            \"name\": \"Sample-ticf44358290\"\n        },\n        \"created_at\": \"2026-11-08 10:35:12\",\n        \"updated_at\": \"2026-11-08 10:35:12\",\n        \"en\": {\n            \"name\": \"Al Nakheel\",\n            \"slug\": null\n        },\n        \"ar\": {\n            \"name\": \"حي النخيل\",\n            \"slug\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "region_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"region_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "regions",
                                                ":region"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "region",
                                                    "value": "{{region_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.regions.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `governorate_id`\n- **Description:** BRD city (`governorates`) the district belongs to; district = region. Send its uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `sometimes|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `lat`\n- **Description:** Latitude of the district centre, between -90 and 90; used by distance rules (BR-11).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `24.7136`\n- **Validation rules:** `nullable|numeric|between:-90,90`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Longitude of the district centre, between -180 and 180.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `46.6753`\n- **Validation rules:** `nullable|numeric|between:-180,180`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n### `is_active`\n- **Description:** Switch that makes the district selectable for addresses and coverage without deleting it; true by default (BR-08).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `sort_order`\n- **Description:** Display order in pickers, lowest first.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `nullable|integer`\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n### `en.name`\n- **Description:** English district name.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Al Nakheel`\n- **Validation rules:** `sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `en.slug`\n- **Description:** English URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `al-nakheel`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.name`\n- **Description:** Arabic district name (required, TD-12).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `حي النخيل`\n- **Validation rules:** `sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `ar.slug`\n- **Description:** Arabic URL-friendly name; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `example-slug`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Saves `region_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Regions Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Regions Update Unknown City\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f919-72e1-ad1d-866c8e18c725\",\n        \"name\": \"Al Nakheel\",\n        \"slug\": null,\n        \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n        \"lat\": 24.74,\n        \"lng\": 46.69,\n        \"sort_order\": 2,\n        \"is_active\": false,\n        \"governorate\": {\n            \"id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n            \"name\": \"Sample-ticf44358290\"\n        },\n        \"created_at\": \"2026-11-08 10:35:12\",\n        \"updated_at\": \"2026-11-08 10:35:12\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"governorate_id\": \"{{governorate_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Al Nakheel\",\n        \"slug\": \"al-nakheel\"\n    },\n    \"ar\": {\n        \"name\": \"حي النخيل\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Regions Updated",
                                            "_joshen": {
                                                "route": "admin.regions.update",
                                                "name": "Regions Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/regions/01a1bab9-f919-72e1-ad1d-866c8e18c725",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_region_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/01a1bab9-f919-72e1-ad1d-866c8e18c725",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        "01a1bab9-f919-72e1-ad1d-866c8e18c725"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1bab9-f919-72e1-ad1d-866c8e18c725\",\n        \"name\": \"Al Nakheel\",\n        \"slug\": null,\n        \"governorate_id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n        \"lat\": 24.74,\n        \"lng\": 46.69,\n        \"sort_order\": 2,\n        \"is_active\": false,\n        \"governorate\": {\n            \"id\": \"01a1bab9-f90b-70b8-ace5-70a3b47cf7bb\",\n            \"name\": \"Sample-ticf44358290\"\n        },\n        \"created_at\": \"2026-11-08 10:35:12\",\n        \"updated_at\": \"2026-11-08 10:35:12\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"governorate_id\": \"{{governorate_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Al Nakheel\",\n        \"slug\": \"al-nakheel\"\n    },\n    \"ar\": {\n        \"name\": \"حي النخيل\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"governorate_id\": \"{{governorate_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Al Nakheel\",\n        \"slug\": \"al-nakheel\"\n    },\n    \"ar\": {\n        \"name\": \"حي النخيل\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"governorate_id\": \"{{governorate_id}}\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753,\n    \"is_active\": true,\n    \"sort_order\": 1,\n    \"en\": {\n        \"name\": \"Al Nakheel\",\n        \"slug\": \"al-nakheel\"\n    },\n    \"ar\": {\n        \"name\": \"حي النخيل\",\n        \"slug\": \"example-slug\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Regions Update Unknown City",
                                            "_joshen": {
                                                "route": "admin.regions.update",
                                                "name": "Regions Update Unknown City",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/regions/01a1bab9-f919-72e1-ad1d-866c8e18c725",
                                                    "query": null,
                                                    "body": {
                                                        "governorate_id": "01a17356-d738-7388-bd14-41f9b9fc8f88"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_region_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/01a1bab9-f919-72e1-ad1d-866c8e18c725",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        "01a1bab9-f919-72e1-ad1d-866c8e18c725"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"governorate_id\": \"01a17356-d738-7388-bd14-41f9b9fc8f88\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected Governorate is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"governorate_id\": [\n                \"The selected Governorate is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "region_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "regions",
                                                ":region"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "region",
                                                    "value": "{{region_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.regions.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Regions Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` District In Use Cannot Be Deleted — `error_code: SERVICE_AREA_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Regions Deleted",
                                            "_joshen": {
                                                "route": "admin.regions.destroy",
                                                "name": "Regions Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/regions/01a1bab9-f919-72e1-ad1d-866c8e18c725",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaExamplesTest::test_ac_admin_007_region_crud_responses"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/01a1bab9-f919-72e1-ad1d-866c8e18c725",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        "01a1bab9-f919-72e1-ad1d-866c8e18c725"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/:region",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        ":region"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "region",
                                                            "value": "{{region_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 District In Use Cannot Be Deleted",
                                            "_joshen": {
                                                "route": "admin.regions.destroy",
                                                "name": "District In Use Cannot Be Deleted",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/regions/01a1c48f-b35d-7344-acdc-f256f0909312",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\ServiceAreaManagementTest::test_ac_admin_021_area_in_use_cannot_be_deleted"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/regions/01a1c48f-b35d-7344-acdc-f256f0909312",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "regions",
                                                        "01a1c48f-b35d-7344-acdc-f256f0909312"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This area is used by accounts, addresses or orders. Disable it instead of deleting it.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_IN_USE\",\n        \"correlation_id\": \"bfdad995-f93c-4372-ab97-1c4dedaa793c\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Access",
                    "item": [
                        {
                            "name": "Users",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"user_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/users",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "users"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "value",
                                                    "description": "Partial match on customer name, email or phone. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[notification_reachable]",
                                                    "value": "1",
                                                    "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Account activation flag (1 active, 0 inactive). This alone does not establish notification eligibility. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[city_id]",
                                                    "value": "{{governorate_id}}",
                                                    "description": "Customer city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2024-01-01",
                                                    "description": "Registration on or after this UTC date, inclusive. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2024-01-01",
                                                    "description": "Registration on or before this UTC date, inclusive; not before created_from. — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "asc",
                                                    "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[full_name]",
                                                    "value": "asc",
                                                    "description": "Order by customer name. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "is_active",
                                                    "value": "value",
                                                    "description": "Is active _(no description yet)_ — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "from",
                                                    "value": "value",
                                                    "description": "From _(no description yet)_ — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "to",
                                                    "value": "value",
                                                    "description": "To _(no description yet)_ — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "user_type",
                                                    "value": "value",
                                                    "description": "User type _(no description yet)_ — `string`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.users.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1` (optional)\n- `search` — Partial match on customer name, email or phone. — `string` (optional)\n- `filters[notification_reachable]` — General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean` (optional)\n- `filters[is_active]` — Account activation flag (1 active, 0 inactive). This alone does not establish notification eligibility. — `boolean` (optional)\n- `filters[city_id]` — Customer city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `filters[created_from]` — Registration on or after this UTC date, inclusive. — `string (date)` (optional)\n- `filters[created_to]` — Registration on or before this UTC date, inclusive; not before created_from. — `string (date)` (optional)\n- `sort[created_at]` — Order by registration time. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[full_name]` — Order by customer name. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `is_active` — Is active _(no description yet)_ — `string` (optional)\n- `from` — From _(no description yet)_ — `string` (optional)\n- `to` — To _(no description yet)_ — `string` (optional)\n- `user_type` — User type _(no description yet)_ — `string` (optional)\n\n**Variables:**\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `user_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Customer List\n- `200` Reachable general notification recipients\n- `200` Reachable recipients dropdown\n- `401` Customer Unauthenticated — `error_code: UNAUTHENTICATED`\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Customer Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Customer Invalid City\n- `422` Customer Invalid Query\n- `422` Customer Invalid Sort\n- `422` Invalid notification reachability filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Users retrieved\",\n    \"data\": {\n        \"users\": [\n            {\n                \"id\": \"01a1a147-157f-737b-8173-2077c51dbca2\",\n                \"full_name\": \"Noura Al-Qahtani\",\n                \"email\": null,\n                \"phone_code\": \"966\",\n                \"phone\": \"512345678\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"user_type\": {\n                    \"value\": \"client\",\n                    \"label\": \"App user\"\n                },\n                \"city\": {\n                    \"id\": \"01a1a147-155f-727d-9304-3674fda38475\",\n                    \"name\": \"Riyadh\"\n                },\n                \"is_active\": true,\n                \"is_ban\": false,\n                \"created_at\": \"2026-10-21 12:00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/users?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/users?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/users?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/users\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer List",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Customer List",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": {
                                                        "search": "512345678"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_details_and_list_return_real_localized_data_and_safe_counts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users?search=512345678",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "search",
                                                            "value": "512345678"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Users retrieved\",\n    \"data\": {\n        \"users\": [\n            {\n                \"id\": \"01a1a147-157f-737b-8173-2077c51dbca2\",\n                \"full_name\": \"Noura Al-Qahtani\",\n                \"email\": null,\n                \"phone_code\": \"966\",\n                \"phone\": \"512345678\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"user_type\": {\n                    \"value\": \"client\",\n                    \"label\": \"App user\"\n                },\n                \"city\": {\n                    \"id\": \"01a1a147-155f-727d-9304-3674fda38475\",\n                    \"name\": \"Riyadh\"\n                },\n                \"is_active\": true,\n                \"is_ban\": false,\n                \"created_at\": \"2026-10-21 12:00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/users?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/users?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/users?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/users\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Reachable general notification recipients",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Reachable general notification recipients",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": {
                                                        "filters": {
                                                            "notification_reachable": "1"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_filters_match_general_notification_recipients"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users?filters[notification_reachable]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Users retrieved\",\n    \"data\": {\n        \"users\": [\n            {\n                \"id\": \"01a1bb64-b801-7079-aac2-e83de0c3dce8\",\n                \"full_name\": \"Cayla Gerlach PhD\",\n                \"email\": \"rmccullough@example.com\",\n                \"phone_code\": \"966\",\n                \"phone\": \"578390420\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"user_type\": {\n                    \"value\": \"client\",\n                    \"label\": \"App user\"\n                },\n                \"city\": null,\n                \"is_active\": true,\n                \"is_ban\": false,\n                \"created_at\": \"2026-11-08 13:41:42\"\n            },\n            {\n                \"id\": \"01a1bb64-b7fc-733b-a8a5-bb16954bbaa5\",\n                \"full_name\": \"Kattie Keebler I\",\n                \"email\": \"toby.kertzmann@example.com\",\n                \"phone_code\": \"966\",\n                \"phone\": \"562938058\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"user_type\": {\n                    \"value\": \"client\",\n                    \"label\": \"App user\"\n                },\n                \"city\": null,\n                \"is_active\": true,\n                \"is_ban\": false,\n                \"created_at\": \"2026-11-08 13:41:42\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/users?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/users?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/users?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/users\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Reachable recipients dropdown",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Reachable recipients dropdown",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": {
                                                        "paginate": "false",
                                                        "filters": {
                                                            "notification_reachable": true
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_filters_match_general_notification_recipients"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users?paginate=false&filters[notification_reachable]=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "paginate",
                                                            "value": "false"
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Users retrieved\",\n    \"data\": [\n        {\n            \"id\": \"01a1bb64-b801-7079-aac2-e83de0c3dce8\",\n            \"full_name\": \"Cayla Gerlach PhD\",\n            \"email\": \"rmccullough@example.com\",\n            \"phone_code\": \"966\",\n            \"phone\": \"578390420\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"user_type\": {\n                \"value\": \"client\",\n                \"label\": \"App user\"\n            },\n            \"city\": null,\n            \"is_active\": true,\n            \"is_ban\": false,\n            \"created_at\": \"2026-11-08 13:41:42\"\n        },\n        {\n            \"id\": \"01a1bb64-b7fc-733b-a8a5-bb16954bbaa5\",\n            \"full_name\": \"Kattie Keebler I\",\n            \"email\": \"toby.kertzmann@example.com\",\n            \"phone_code\": \"966\",\n            \"phone\": \"562938058\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"user_type\": {\n                \"value\": \"client\",\n                \"label\": \"App user\"\n            },\n            \"city\": null,\n            \"is_active\": true,\n            \"is_ban\": false,\n            \"created_at\": \"2026-11-08 13:41:42\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Customer Unauthenticated",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Customer Unauthenticated",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_endpoints_require_authentication_and_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "value",
                                                            "description": "Partial match on customer name, email or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Account activation flag (1 active, 0 inactive). This alone does not establish notification eligibility. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Customer city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or before this UTC date, inclusive; not before created_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[full_name]",
                                                            "value": "asc",
                                                            "description": "Order by customer name. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "is_active",
                                                            "value": "value",
                                                            "description": "Is active _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "from",
                                                            "value": "value",
                                                            "description": "From _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "value",
                                                            "description": "To _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "user_type",
                                                            "value": "value",
                                                            "description": "User type _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer Forbidden",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Customer Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_endpoints_require_authentication_and_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.users.index\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "value",
                                                            "description": "Partial match on customer name, email or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Account activation flag (1 active, 0 inactive). This alone does not establish notification eligibility. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Customer city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or before this UTC date, inclusive; not before created_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[full_name]",
                                                            "value": "asc",
                                                            "description": "Order by customer name. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "is_active",
                                                            "value": "value",
                                                            "description": "Is active _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "from",
                                                            "value": "value",
                                                            "description": "From _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "value",
                                                            "description": "To _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "user_type",
                                                            "value": "value",
                                                            "description": "User type _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Use false or 0 for a direct data array capped at 500 rows; otherwise paginate. — `string (enum)`, one of: `true`, `false`, `0`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "value",
                                                            "description": "Partial match on customer name, email or phone. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "1",
                                                            "description": "General-notification eligibility (TD-173/178): 1 = active, not admin-disabled or banned; 0 = unreachable. Does not require a device or enabled push preferences. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Account activation flag (1 active, 0 inactive). This alone does not establish notification eligibility. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "{{governorate_id}}",
                                                            "description": "Customer city uuid (BRD city = governorate). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or after this UTC date, inclusive. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Registration on or before this UTC date, inclusive; not before created_from. — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Order by registration time. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[full_name]",
                                                            "value": "asc",
                                                            "description": "Order by customer name. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "is_active",
                                                            "value": "value",
                                                            "description": "Is active _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "from",
                                                            "value": "value",
                                                            "description": "From _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "to",
                                                            "value": "value",
                                                            "description": "To _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "user_type",
                                                            "value": "value",
                                                            "description": "User type _(no description yet)_ — `string`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Customer Invalid City",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Customer Invalid City",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": {
                                                        "filters": {
                                                            "city_id": "f60d803e-c6b7-44a2-a53b-cf9351c4e22e"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_unknown_or_integer_city_filter_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users?filters[city_id]=f60d803e-c6b7-44a2-a53b-cf9351c4e22e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[city_id]",
                                                            "value": "f60d803e-c6b7-44a2-a53b-cf9351c4e22e"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.city_id is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.city_id\": [\n                \"The selected filters.city_id is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Customer Invalid Query",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Customer Invalid Query",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": {
                                                        "filters": {
                                                            "role": "admin"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_invalid_query_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users?filters[role]=admin",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[role]",
                                                            "value": "admin"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unsupported input key(s): filters.role.\",\n    \"data\": {\n        \"errors\": {\n            \"filters\": [\n                \"Unsupported input key(s): filters.role.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Customer Invalid Sort",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Customer Invalid Sort",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": {
                                                        "sort": {
                                                            "full_name": "sideways"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_sort_direction_errors_name_concrete_keys"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users?sort[full_name]=sideways",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "sort[full_name]",
                                                            "value": "sideways"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected sort.full_name is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"sort.full_name\": [\n                \"The selected sort.full_name is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid notification reachability filter",
                                            "_joshen": {
                                                "route": "admin.users.index",
                                                "name": "Invalid notification reachability filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users",
                                                    "query": {
                                                        "filters": {
                                                            "notification_reachable": "approved"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\NotificationRecipientFilterTest::test_ac_admin_020_picker_composes_with_existing_filters_and_permissions"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users?filters[notification_reachable]=approved",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[notification_reachable]",
                                                            "value": "approved"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.notification_reachable field must be true or false.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.notification_reachable\": [\n                \"The filters.notification_reachable field must be true or false.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "user_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Wallet Transactions",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"user_id\",\"Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/users/:id/wallet-transactions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "users",
                                                ":id",
                                                "wallet-transactions"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{user_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "include_debits",
                                                    "value": "1",
                                                    "description": "Set to 1 to include order debits alongside refund credits. — `boolean`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "true",
                                                    "description": "Send `false` to get every row without pagination. — `string (enum)`, one of: `true`, `1`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Free-text search over the list's searchable fields. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_from]",
                                                    "value": "2024-01-01",
                                                    "description": "First transaction date (UTC). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[created_to]",
                                                    "value": "2024-01-01",
                                                    "description": "Last transaction date (UTC). — `string (date)`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "asc",
                                                    "description": "Sort by creation date. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[amount]",
                                                    "value": "asc",
                                                    "description": "Sort by signed amount. — `string (enum)`, one of: `asc`, `desc`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.users.wallet-transactions`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `include_debits` — Set to 1 to include order debits alongside refund credits. — `boolean` (optional)\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `paginate` — Send `false` to get every row without pagination. — `string (enum)`, one of: `true`, `1` (optional)\n- `search` — Free-text search over the list's searchable fields. — `string` (optional)\n- `filters[created_from]` — First transaction date (UTC). — `string (date)` (optional)\n- `filters[created_to]` — Last transaction date (UTC). — `string (date)` (optional)\n- `sort[created_at]` — Sort by creation date. — `string (enum)`, one of: `asc`, `desc` (optional)\n- `sort[amount]` — Sort by signed amount. — `string (enum)`, one of: `asc`, `desc` (optional)\n\n**Variables:**\n- Uses `{{user_id}}` — Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Customer Refunds\n- `200` Refund credits and order debits\n- `200` Refund credits only\n- `401` Customer Unauthenticated — `error_code: UNAUTHENTICATED`\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Customer Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Customer Invalid Sort\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"wallet_transactions\": [\n            {\n                \"id\": \"01a1a147-1594-717f-85e3-4da2930b5a32\",\n                \"txn_type\": {\n                    \"value\": \"refund_credit\",\n                    \"label\": \"Refund credit\"\n                },\n                \"amount\": \"125.50\",\n                \"balance_after\": \"125.50\",\n                \"order_id\": null,\n                \"refund_id\": null,\n                \"payment_id\": null,\n                \"note\": \"Order refund\",\n                \"created_at\": \"2026-10-21 12:00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer Refunds",
                                            "_joshen": {
                                                "route": "admin.users.wallet-transactions",
                                                "name": "Customer Refunds",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_details_and_list_return_real_localized_data_and_safe_counts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-157f-737b-8173-2077c51dbca2",
                                                        "wallet-transactions"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"wallet_transactions\": [\n            {\n                \"id\": \"01a1a147-1594-717f-85e3-4da2930b5a32\",\n                \"txn_type\": {\n                    \"value\": \"refund_credit\",\n                    \"label\": \"Refund credit\"\n                },\n                \"amount\": \"125.50\",\n                \"balance_after\": \"125.50\",\n                \"order_id\": null,\n                \"refund_id\": null,\n                \"payment_id\": null,\n                \"note\": \"Order refund\",\n                \"created_at\": \"2026-10-21 12:00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2/wallet-transactions\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Refund credits and order debits",
                                            "_joshen": {
                                                "route": "admin.users.wallet-transactions",
                                                "name": "Refund credits and order debits",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions",
                                                    "query": {
                                                        "include_debits": 1
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_refund_history_is_scoped_filtered_sorted_and_paginated"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions?include_debits=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-23a4-71b9-a6d1-2e15da2b5ab2",
                                                        "wallet-transactions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "include_debits",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"wallet_transactions\": [\n            {\n                \"id\": \"01a1a147-23dc-7177-b3f2-dc056d1381d3\",\n                \"txn_type\": {\n                    \"value\": \"order_debit\",\n                    \"label\": \"Order payment\"\n                },\n                \"amount\": \"-20.00\",\n                \"balance_after\": \"155.50\",\n                \"order_id\": null,\n                \"refund_id\": null,\n                \"payment_id\": null,\n                \"note\": null,\n                \"created_at\": \"2026-11-03 11:59:16\"\n            },\n            {\n                \"id\": \"01a1a147-23da-72e0-9825-46aa10e4b515\",\n                \"txn_type\": {\n                    \"value\": \"refund_credit\",\n                    \"label\": \"Refund credit\"\n                },\n                \"amount\": \"25.50\",\n                \"balance_after\": \"175.50\",\n                \"order_id\": null,\n                \"refund_id\": null,\n                \"payment_id\": null,\n                \"note\": \"refund new\",\n                \"created_at\": \"2026-10-31 23:59:59\"\n            },\n            {\n                \"id\": \"01a1a147-23d5-71bd-9144-d53b80d5d5ee\",\n                \"txn_type\": {\n                    \"value\": \"refund_credit\",\n                    \"label\": \"Refund credit\"\n                },\n                \"amount\": \"150.00\",\n                \"balance_after\": \"150.00\",\n                \"order_id\": null,\n                \"refund_id\": null,\n                \"payment_id\": null,\n                \"note\": \"refund old\",\n                \"created_at\": \"2026-10-01 00:00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Refund credits only",
                                            "_joshen": {
                                                "route": "admin.users.wallet-transactions",
                                                "name": "Refund credits only",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_refund_history_is_scoped_filtered_sorted_and_paginated"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-23a4-71b9-a6d1-2e15da2b5ab2",
                                                        "wallet-transactions"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"wallet_transactions\": [\n            {\n                \"id\": \"01a1a147-23da-72e0-9825-46aa10e4b515\",\n                \"txn_type\": {\n                    \"value\": \"refund_credit\",\n                    \"label\": \"Refund credit\"\n                },\n                \"amount\": \"25.50\",\n                \"balance_after\": \"175.50\",\n                \"order_id\": null,\n                \"refund_id\": null,\n                \"payment_id\": null,\n                \"note\": \"refund new\",\n                \"created_at\": \"2026-10-31 23:59:59\"\n            },\n            {\n                \"id\": \"01a1a147-23d5-71bd-9144-d53b80d5d5ee\",\n                \"txn_type\": {\n                    \"value\": \"refund_credit\",\n                    \"label\": \"Refund credit\"\n                },\n                \"amount\": \"150.00\",\n                \"balance_after\": \"150.00\",\n                \"order_id\": null,\n                \"refund_id\": null,\n                \"payment_id\": null,\n                \"note\": \"refund old\",\n                \"created_at\": \"2026-10-01 00:00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/users/01a1a147-23a4-71b9-a6d1-2e15da2b5ab2/wallet-transactions\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Customer Unauthenticated",
                                            "_joshen": {
                                                "route": "admin.users.wallet-transactions",
                                                "name": "Customer Unauthenticated",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a146-fac8-73e3-b5bb-21d5ac312fcb/wallet-transactions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_endpoints_require_authentication_and_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a146-fac8-73e3-b5bb-21d5ac312fcb/wallet-transactions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a146-fac8-73e3-b5bb-21d5ac312fcb",
                                                        "wallet-transactions"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id/wallet-transactions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id",
                                                        "wallet-transactions"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "include_debits",
                                                            "value": "1",
                                                            "description": "Set to 1 to include order debits alongside refund credits. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` to get every row without pagination. — `string (enum)`, one of: `true`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "First transaction date (UTC). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Last transaction date (UTC). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Sort by creation date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "asc",
                                                            "description": "Sort by signed amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer Forbidden",
                                            "_joshen": {
                                                "route": "admin.users.wallet-transactions",
                                                "name": "Customer Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a146-fac8-73e3-b5bb-21d5ac312fcb/wallet-transactions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_endpoints_require_authentication_and_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a146-fac8-73e3-b5bb-21d5ac312fcb/wallet-transactions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a146-fac8-73e3-b5bb-21d5ac312fcb",
                                                        "wallet-transactions"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.users.wallet-transactions\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id/wallet-transactions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id",
                                                        "wallet-transactions"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "include_debits",
                                                            "value": "1",
                                                            "description": "Set to 1 to include order debits alongside refund credits. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` to get every row without pagination. — `string (enum)`, one of: `true`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "First transaction date (UTC). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Last transaction date (UTC). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Sort by creation date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "asc",
                                                            "description": "Sort by signed amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id/wallet-transactions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id",
                                                        "wallet-transactions"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "include_debits",
                                                            "value": "1",
                                                            "description": "Set to 1 to include order debits alongside refund credits. — `boolean`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "true",
                                                            "description": "Send `false` to get every row without pagination. — `string (enum)`, one of: `true`, `1`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Free-text search over the list's searchable fields. — `string`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_from]",
                                                            "value": "2024-01-01",
                                                            "description": "First transaction date (UTC). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[created_to]",
                                                            "value": "2024-01-01",
                                                            "description": "Last transaction date (UTC). — `string (date)`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "asc",
                                                            "description": "Sort by creation date. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "asc",
                                                            "description": "Sort by signed amount. — `string (enum)`, one of: `asc`, `desc`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Customer Invalid Sort",
                                            "_joshen": {
                                                "route": "admin.users.wallet-transactions",
                                                "name": "Customer Invalid Sort",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a147-ab5e-7270-b737-2e711d0084d2/wallet-transactions",
                                                    "query": {
                                                        "sort": {
                                                            "amount": "sideways"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_sort_direction_errors_name_concrete_keys"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-ab5e-7270-b737-2e711d0084d2/wallet-transactions?sort[amount]=sideways",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-ab5e-7270-b737-2e711d0084d2",
                                                        "wallet-transactions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "sort[amount]",
                                                            "value": "sideways"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected sort.amount is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"sort.amount\": [\n                \"The selected sort.amount is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "user_id",
                                                "set_by": [
                                                    "admin.users.index",
                                                    "admin.users.view"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"user_id\",\"Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"user_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/users/:id",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "users",
                                                ":id"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{user_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.users.view`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{user_id}}` — Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `user_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Customer Details\n- `200` Customer Details Ar\n- `401` Customer Unauthenticated — `error_code: UNAUTHENTICATED`\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Customer Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a147-157f-737b-8173-2077c51dbca2\",\n        \"full_name\": \"Noura Al-Qahtani\",\n        \"email\": null,\n        \"phone_code\": \"966\",\n        \"phone\": \"512345678\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"user_type\": {\n            \"value\": \"client\",\n            \"label\": \"App user\"\n        },\n        \"city\": {\n            \"id\": \"01a1a147-155f-727d-9304-3674fda38475\",\n            \"name\": \"Riyadh\"\n        },\n        \"is_active\": true,\n        \"is_ban\": false,\n        \"created_at\": \"2026-10-21 12:00:00\",\n        \"guarantees_female_gender\": true,\n        \"accept_policies\": true,\n        \"accept_terms\": true,\n        \"birth_date\": null,\n        \"locale\": \"ar\",\n        \"allow_notifications\": true,\n        \"email_verified_at\": null,\n        \"last_login_at\": null,\n        \"customer_profile\": {\n            \"id\": \"01a1a147-157f-737b-8173-2077c4fc72e0\",\n            \"birth_year\": 1995,\n            \"female_declared_at\": \"2026-10-21 12:00:00\",\n            \"terms_accepted_at\": \"2026-10-21 12:00:00\",\n            \"privacy_accepted_at\": \"2026-10-21 12:00:00\",\n            \"created_at\": \"2026-10-21 12:00:00\"\n        },\n        \"addresses\": [\n            {\n                \"id\": \"01a1a147-1585-71c6-9f41-af8cb2304c65\",\n                \"label\": \"Home\",\n                \"label_type\": {\n                    \"value\": \"home\",\n                    \"label\": \"Home\"\n                },\n                \"city\": {\n                    \"id\": \"01a1a147-155f-727d-9304-3674fda38475\",\n                    \"name\": \"Riyadh\"\n                },\n                \"district\": {\n                    \"id\": \"01a1a147-1577-7284-980b-0d832fa56505\",\n                    \"name\": \"Al Narjis\"\n                },\n                \"address_line\": \"King Salman Road\",\n                \"details\": \"Building 5\",\n                \"lat\": 24.8,\n                \"lng\": 46.6,\n                \"is_default\": true,\n                \"created_at\": \"2026-10-21 12:00:00\",\n                \"updated_at\": \"2026-10-21 12:00:00\"\n            }\n        ],\n        \"wallet\": {\n            \"id\": \"01a1a147-1592-713d-a912-3b2f364c0b37\",\n            \"balance\": \"100.50\",\n            \"currency\": \"SAR\",\n            \"updated_at\": \"2026-11-03 11:59:12\"\n        },\n        \"counts\": {\n            \"addresses\": 1,\n            \"wallet_transactions\": 1\n        },\n        \"updated_at\": \"2026-10-21 12:00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer Details",
                                            "_joshen": {
                                                "route": "admin.users.view",
                                                "name": "Customer Details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_details_and_list_return_real_localized_data_and_safe_counts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-157f-737b-8173-2077c51dbca2"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a147-157f-737b-8173-2077c51dbca2\",\n        \"full_name\": \"Noura Al-Qahtani\",\n        \"email\": null,\n        \"phone_code\": \"966\",\n        \"phone\": \"512345678\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"user_type\": {\n            \"value\": \"client\",\n            \"label\": \"App user\"\n        },\n        \"city\": {\n            \"id\": \"01a1a147-155f-727d-9304-3674fda38475\",\n            \"name\": \"Riyadh\"\n        },\n        \"is_active\": true,\n        \"is_ban\": false,\n        \"created_at\": \"2026-10-21 12:00:00\",\n        \"guarantees_female_gender\": true,\n        \"accept_policies\": true,\n        \"accept_terms\": true,\n        \"birth_date\": null,\n        \"locale\": \"ar\",\n        \"allow_notifications\": true,\n        \"email_verified_at\": null,\n        \"last_login_at\": null,\n        \"customer_profile\": {\n            \"id\": \"01a1a147-157f-737b-8173-2077c4fc72e0\",\n            \"birth_year\": 1995,\n            \"female_declared_at\": \"2026-10-21 12:00:00\",\n            \"terms_accepted_at\": \"2026-10-21 12:00:00\",\n            \"privacy_accepted_at\": \"2026-10-21 12:00:00\",\n            \"created_at\": \"2026-10-21 12:00:00\"\n        },\n        \"addresses\": [\n            {\n                \"id\": \"01a1a147-1585-71c6-9f41-af8cb2304c65\",\n                \"label\": \"Home\",\n                \"label_type\": {\n                    \"value\": \"home\",\n                    \"label\": \"Home\"\n                },\n                \"city\": {\n                    \"id\": \"01a1a147-155f-727d-9304-3674fda38475\",\n                    \"name\": \"Riyadh\"\n                },\n                \"district\": {\n                    \"id\": \"01a1a147-1577-7284-980b-0d832fa56505\",\n                    \"name\": \"Al Narjis\"\n                },\n                \"address_line\": \"King Salman Road\",\n                \"details\": \"Building 5\",\n                \"lat\": 24.8,\n                \"lng\": 46.6,\n                \"is_default\": true,\n                \"created_at\": \"2026-10-21 12:00:00\",\n                \"updated_at\": \"2026-10-21 12:00:00\"\n            }\n        ],\n        \"wallet\": {\n            \"id\": \"01a1a147-1592-713d-a912-3b2f364c0b37\",\n            \"balance\": \"100.50\",\n            \"currency\": \"SAR\",\n            \"updated_at\": \"2026-11-03 11:59:12\"\n        },\n        \"counts\": {\n            \"addresses\": 1,\n            \"wallet_transactions\": 1\n        },\n        \"updated_at\": \"2026-10-21 12:00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Customer Details Ar",
                                            "_joshen": {
                                                "route": "admin.users.view",
                                                "name": "Customer Details Ar",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "ar",
                                                    "path": "api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_details_and_list_return_real_localized_data_and_safe_counts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-157f-737b-8173-2077c51dbca2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-157f-737b-8173-2077c51dbca2"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"id\": \"01a1a147-157f-737b-8173-2077c51dbca2\",\n        \"full_name\": \"Noura Al-Qahtani\",\n        \"email\": null,\n        \"phone_code\": \"966\",\n        \"phone\": \"512345678\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"user_type\": {\n            \"value\": \"client\",\n            \"label\": \"مستخدمة التطبيق\"\n        },\n        \"city\": {\n            \"id\": \"01a1a147-155f-727d-9304-3674fda38475\",\n            \"name\": \"الرياض\"\n        },\n        \"is_active\": true,\n        \"is_ban\": false,\n        \"created_at\": \"2026-10-21 12:00:00\",\n        \"guarantees_female_gender\": true,\n        \"accept_policies\": true,\n        \"accept_terms\": true,\n        \"birth_date\": null,\n        \"locale\": \"ar\",\n        \"allow_notifications\": true,\n        \"email_verified_at\": null,\n        \"last_login_at\": null,\n        \"customer_profile\": {\n            \"id\": \"01a1a147-157f-737b-8173-2077c4fc72e0\",\n            \"birth_year\": 1995,\n            \"female_declared_at\": \"2026-10-21 12:00:00\",\n            \"terms_accepted_at\": \"2026-10-21 12:00:00\",\n            \"privacy_accepted_at\": \"2026-10-21 12:00:00\",\n            \"created_at\": \"2026-10-21 12:00:00\"\n        },\n        \"addresses\": [\n            {\n                \"id\": \"01a1a147-1585-71c6-9f41-af8cb2304c65\",\n                \"label\": \"Home\",\n                \"label_type\": {\n                    \"value\": \"home\",\n                    \"label\": \"المنزل\"\n                },\n                \"city\": {\n                    \"id\": \"01a1a147-155f-727d-9304-3674fda38475\",\n                    \"name\": \"الرياض\"\n                },\n                \"district\": {\n                    \"id\": \"01a1a147-1577-7284-980b-0d832fa56505\",\n                    \"name\": \"النرجس\"\n                },\n                \"address_line\": \"King Salman Road\",\n                \"details\": \"Building 5\",\n                \"lat\": 24.8,\n                \"lng\": 46.6,\n                \"is_default\": true,\n                \"created_at\": \"2026-10-21 12:00:00\",\n                \"updated_at\": \"2026-10-21 12:00:00\"\n            }\n        ],\n        \"wallet\": {\n            \"id\": \"01a1a147-1592-713d-a912-3b2f364c0b37\",\n            \"balance\": \"100.50\",\n            \"currency\": \"SAR\",\n            \"updated_at\": \"2026-11-03 11:59:12\"\n        },\n        \"counts\": {\n            \"addresses\": 1,\n            \"wallet_transactions\": 1\n        },\n        \"updated_at\": \"2026-10-21 12:00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Customer Unauthenticated",
                                            "_joshen": {
                                                "route": "admin.users.view",
                                                "name": "Customer Unauthenticated",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a146-f56e-70f6-ad73-02377b71e352",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_endpoints_require_authentication_and_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a146-f56e-70f6-ad73-02377b71e352",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a146-f56e-70f6-ad73-02377b71e352"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer Forbidden",
                                            "_joshen": {
                                                "route": "admin.users.view",
                                                "name": "Customer Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a146-f56e-70f6-ad73-02377b71e352",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_endpoints_require_authentication_and_permission"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a146-f56e-70f6-ad73-02377b71e352",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a146-f56e-70f6-ad73-02377b71e352"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.users.view\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "user_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "user_id",
                                                "set_by": [
                                                    "admin.users.index",
                                                    "admin.users.view"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Toggle Status",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"user_id\",\"Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/users/:id/toggle-active",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "users",
                                                ":id",
                                                "toggle-active"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "id",
                                                    "value": "{{user_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.users.toggle`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{user_id}}` — Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Customer Block\n- `200` Customer Unblock\n- `401` Customer Unauthenticated — `error_code: UNAUTHENTICATED`\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Customer Forbidden — `error_code: PERMISSION_DENIED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Customer Not Found\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"User blocked successfully\",\n    \"data\": {\n        \"id\": \"01a1a147-97ee-72f2-a758-ab01628e0730\",\n        \"full_name\": \"Enola Hodkiewicz\",\n        \"is_active\": false\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer Block",
                                            "_joshen": {
                                                "route": "admin.users.toggle",
                                                "name": "Customer Block",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a147-97ee-72f2-a758-ab01628e0730/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_block_unblock_is_account_wide_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-97ee-72f2-a758-ab01628e0730/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-97ee-72f2-a758-ab01628e0730",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"User blocked successfully\",\n    \"data\": {\n        \"id\": \"01a1a147-97ee-72f2-a758-ab01628e0730\",\n        \"full_name\": \"Enola Hodkiewicz\",\n        \"is_active\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Customer Unblock",
                                            "_joshen": {
                                                "route": "admin.users.toggle",
                                                "name": "Customer Unblock",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a147-97ee-72f2-a758-ab01628e0730/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_block_unblock_is_account_wide_and_audited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-97ee-72f2-a758-ab01628e0730/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-97ee-72f2-a758-ab01628e0730",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"User activated successfully\",\n    \"data\": {\n        \"id\": \"01a1a147-97ee-72f2-a758-ab01628e0730\",\n        \"full_name\": \"Enola Hodkiewicz\",\n        \"is_active\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Customer Unauthenticated",
                                            "_joshen": {
                                                "route": "admin.users.toggle",
                                                "name": "Customer Unauthenticated",
                                                "code": 401,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a146-fdfa-7184-9fe9-559eaebe8054/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_endpoints_require_authentication_and_permission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a146-fdfa-7184-9fe9-559eaebe8054/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a146-fdfa-7184-9fe9-559eaebe8054",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer Forbidden",
                                            "_joshen": {
                                                "route": "admin.users.toggle",
                                                "name": "Customer Forbidden",
                                                "code": 403,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a146-fdfa-7184-9fe9-559eaebe8054/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_endpoints_require_authentication_and_permission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a146-fdfa-7184-9fe9-559eaebe8054/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a146-fdfa-7184-9fe9-559eaebe8054",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.users.toggle\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Customer Not Found",
                                            "_joshen": {
                                                "route": "admin.users.toggle",
                                                "name": "Customer Not Found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/users/01a1a147-009f-70b8-af5d-702e2fe0e7ce/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\CustomerManagementTest::test_ac_admin_003_unknown_integer_and_profile_ids_return_404"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/01a1a147-009f-70b8-af5d-702e2fe0e7ce/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        "01a1a147-009f-70b8-af5d-702e2fe0e7ce",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/users/:id/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "users",
                                                        ":id",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "id",
                                                            "value": "{{user_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "user_id",
                                                "set_by": [
                                                    "admin.users.index",
                                                    "admin.users.view"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/users, GET /api/v1/admin/users/{id}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Permissions",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"permission_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/permissions?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "permissions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.permissions.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `permission_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Permissions Matrix\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Permissions retrieved successfully.\",\n    \"data\": {\n        \"Dashboard\": [\n            {\n                \"id\": \"01a1bab5-73d0-71a9-81e8-7973a786c7ce\",\n                \"title\": \"Dashboard · View (dashboard.index)\",\n                \"back_route_name\": \"dashboard.index\",\n                \"front_route_name\": \"home/show-all\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Customers\": [\n            {\n                \"id\": \"01a1bab5-7512-711a-b1b5-6af025e6eea0\",\n                \"title\": \"Customers · View (users.index)\",\n                \"back_route_name\": \"users.index\",\n                \"front_route_name\": \"users/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7517-70dc-ba5e-79363cbcaca2\",\n                \"title\": \"Customers · View (users.view)\",\n                \"back_route_name\": \"users.view\",\n                \"front_route_name\": \"users/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7519-7053-a987-e0af2c34f5b1\",\n                \"title\": \"Customers · View (users.wallet-transactions)\",\n                \"back_route_name\": \"users.wallet-transactions\",\n                \"front_route_name\": \"users/wallet-transactions\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7515-7281-beff-ea946710e050\",\n                \"title\": \"Customers · Edit (users.toggle)\",\n                \"back_route_name\": \"users.toggle\",\n                \"front_route_name\": \"users/toggle-active\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Service providers\": [\n            {\n                \"id\": \"01a1bab5-748e-724c-9f70-2fce54e45409\",\n                \"title\": \"Service providers · View (providers.index)\",\n                \"back_route_name\": \"providers.index\",\n                \"front_route_name\": \"providers/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7496-7049-91de-58d8f84a89ef\",\n                \"title\": \"Service providers · View (providers.show)\",\n                \"back_route_name\": \"providers.show\",\n                \"front_route_name\": \"providers/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-749a-709b-9e94-fd2b13d9d62d\",\n                \"title\": \"Service providers · Edit (providers.work-area)\",\n                \"back_route_name\": \"providers.work-area\",\n                \"front_route_name\": \"providers/work-area\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-748a-7314-9f92-3c21bc3af90f\",\n                \"title\": \"Service providers · Approve (providers.approve)\",\n                \"back_route_name\": \"providers.approve\",\n                \"front_route_name\": \"providers/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-748c-72c4-9d9e-569dc8e94834\",\n                \"title\": \"Service providers · Approve (providers.identity)\",\n                \"back_route_name\": \"providers.identity\",\n                \"front_route_name\": \"providers/identity\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7490-7283-a7a8-c674822b2d5c\",\n                \"title\": \"Service providers · Approve (providers.reactivate)\",\n                \"back_route_name\": \"providers.reactivate\",\n                \"front_route_name\": \"providers/reactivate\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7492-729e-996a-8126f83a49f1\",\n                \"title\": \"Service providers · Approve (providers.reject)\",\n                \"back_route_name\": \"providers.reject\",\n                \"front_route_name\": \"providers/reject\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7494-719a-b3cc-8d7d448242d2\",\n                \"title\": \"Service providers · Approve (providers.request-changes)\",\n                \"back_route_name\": \"providers.request-changes\",\n                \"front_route_name\": \"providers/request-changes\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7498-714f-ac81-3b0ddd3b1add\",\n                \"title\": \"Service providers · Approve (providers.suspend)\",\n                \"back_route_name\": \"providers.suspend\",\n                \"front_route_name\": \"providers/suspend\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Drivers\": [\n            {\n                \"id\": \"01a1bab5-73e1-7176-b93e-3952ea041c27\",\n                \"title\": \"Drivers · View (drivers.index)\",\n                \"back_route_name\": \"drivers.index\",\n                \"front_route_name\": \"drivers/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73ea-7325-923e-1f4608a5fd99\",\n                \"title\": \"Drivers · View (drivers.show)\",\n                \"back_route_name\": \"drivers.show\",\n                \"front_route_name\": \"drivers/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73ee-703f-9e0d-9a3e369885d2\",\n                \"title\": \"Drivers · Edit (drivers.work-area)\",\n                \"back_route_name\": \"drivers.work-area\",\n                \"front_route_name\": \"drivers/work-area\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73dc-73de-9b12-bff022d1f7aa\",\n                \"title\": \"Drivers · Approve (drivers.approve)\",\n                \"back_route_name\": \"drivers.approve\",\n                \"front_route_name\": \"drivers/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73de-72f0-bef3-60958f34c478\",\n                \"title\": \"Drivers · Approve (drivers.identity)\",\n                \"back_route_name\": \"drivers.identity\",\n                \"front_route_name\": \"drivers/identity\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73e3-7058-aa83-263671d4cf07\",\n                \"title\": \"Drivers · Approve (drivers.reactivate)\",\n                \"back_route_name\": \"drivers.reactivate\",\n                \"front_route_name\": \"drivers/reactivate\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73e6-71be-a1e4-9ec50a185380\",\n                \"title\": \"Drivers · Approve (drivers.reject)\",\n                \"back_route_name\": \"drivers.reject\",\n                \"front_route_name\": \"drivers/reject\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73e8-7203-a5a3-001ef23aefef\",\n                \"title\": \"Drivers · Approve (drivers.request-changes)\",\n                \"back_route_name\": \"drivers.request-changes\",\n                \"front_route_name\": \"drivers/request-changes\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73ec-73ea-8255-2ebedd1c4d84\",\n                \"title\": \"Drivers · Approve (drivers.suspend)\",\n                \"back_route_name\": \"drivers.suspend\",\n                \"front_route_name\": \"drivers/suspend\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Registration review\": [\n            {\n                \"id\": \"01a1bab5-7399-7267-b95a-d137e926348b\",\n                \"title\": \"Registration review · View (category-requests.index)\",\n                \"back_route_name\": \"category-requests.index\",\n                \"front_route_name\": \"category-requests/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74b2-7348-bfd4-34a171c79d76\",\n                \"title\": \"Registration review · View (registration-requests.index)\",\n                \"back_route_name\": \"registration-requests.index\",\n                \"front_route_name\": \"registration-requests/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74b9-72d4-9b46-83369d296b15\",\n                \"title\": \"Registration review · View (registration-requests.show)\",\n                \"back_route_name\": \"registration-requests.show\",\n                \"front_route_name\": \"registration-requests/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7397-73de-8386-ed3eb3e14660\",\n                \"title\": \"Registration review · Approve (category-requests.approve)\",\n                \"back_route_name\": \"category-requests.approve\",\n                \"front_route_name\": \"category-requests/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-739b-71af-ace4-fea3d69b7430\",\n                \"title\": \"Registration review · Approve (category-requests.reject)\",\n                \"back_route_name\": \"category-requests.reject\",\n                \"front_route_name\": \"category-requests/reject\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74af-72af-bafb-5c02d8c1e6c6\",\n                \"title\": \"Registration review · Approve (registration-requests.approve)\",\n                \"back_route_name\": \"registration-requests.approve\",\n                \"front_route_name\": \"registration-requests/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74b4-73b6-ad12-d24a83d46b46\",\n                \"title\": \"Registration review · Approve (registration-requests.reject)\",\n                \"back_route_name\": \"registration-requests.reject\",\n                \"front_route_name\": \"registration-requests/reject\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74b7-720c-ac9d-17e6ac9c9598\",\n                \"title\": \"Registration review · Approve (registration-requests.request-changes)\",\n                \"back_route_name\": \"registration-requests.request-changes\",\n                \"front_route_name\": \"registration-requests/request-changes\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Service areas\": [\n            {\n                \"id\": \"01a1bab5-73bb-72a4-a65c-5e42f5900d55\",\n                \"title\": \"Service areas · View (countries.index)\",\n                \"back_route_name\": \"countries.index\",\n                \"front_route_name\": \"countries/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73be-7278-b89c-1c0adae7d6b3\",\n                \"title\": \"Service areas · View (countries.show)\",\n                \"back_route_name\": \"countries.show\",\n                \"front_route_name\": \"countries/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73d4-73aa-a767-675c58ede6e0\",\n                \"title\": \"Service areas · View (delivery-fee-rules.index)\",\n                \"back_route_name\": \"delivery-fee-rules.index\",\n                \"front_route_name\": \"delivery-fee-rules/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73d6-7387-bb87-62f574bdced8\",\n                \"title\": \"Service areas · View (delivery-fee-rules.show)\",\n                \"back_route_name\": \"delivery-fee-rules.show\",\n                \"front_route_name\": \"delivery-fee-rules/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7417-736a-9a5e-f073a62f0db8\",\n                \"title\": \"Service areas · View (governorates.index)\",\n                \"back_route_name\": \"governorates.index\",\n                \"front_route_name\": \"governorates/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7419-732d-9c0d-3c77189230ee\",\n                \"title\": \"Service areas · View (governorates.show)\",\n                \"back_route_name\": \"governorates.show\",\n                \"front_route_name\": \"governorates/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74a5-710b-b036-fd74d8d31f3f\",\n                \"title\": \"Service areas · View (regions.index)\",\n                \"back_route_name\": \"regions.index\",\n                \"front_route_name\": \"regions/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74a8-72cd-8ebf-707ea30c88d6\",\n                \"title\": \"Service areas · View (regions.show)\",\n                \"back_route_name\": \"regions.show\",\n                \"front_route_name\": \"regions/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c0-7315-85ec-c29a91dcc8af\",\n                \"title\": \"Service areas · Add (countries.store)\",\n                \"back_route_name\": \"countries.store\",\n                \"front_route_name\": \"countries/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73d8-73fd-a3fd-fe13e0f2c00b\",\n                \"title\": \"Service areas · Add (delivery-fee-rules.store)\",\n                \"back_route_name\": \"delivery-fee-rules.store\",\n                \"front_route_name\": \"delivery-fee-rules/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-741b-70f1-84f6-1669dfde9a03\",\n                \"title\": \"Service areas · Add (governorates.store)\",\n                \"back_route_name\": \"governorates.store\",\n                \"front_route_name\": \"governorates/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74aa-7319-98be-7535f75b0c17\",\n                \"title\": \"Service areas · Add (regions.store)\",\n                \"back_route_name\": \"regions.store\",\n                \"front_route_name\": \"regions/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c2-70e6-9e4c-38adf9f8990f\",\n                \"title\": \"Service areas · Edit (countries.update)\",\n                \"back_route_name\": \"countries.update\",\n                \"front_route_name\": \"countries/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73da-70d1-9db9-1b435a172d8d\",\n                \"title\": \"Service areas · Edit (delivery-fee-rules.update)\",\n                \"back_route_name\": \"delivery-fee-rules.update\",\n                \"front_route_name\": \"delivery-fee-rules/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-741d-7025-a271-7a5533b5605a\",\n                \"title\": \"Service areas · Edit (governorates.update)\",\n                \"back_route_name\": \"governorates.update\",\n                \"front_route_name\": \"governorates/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ad-72c5-abc3-77a17377ce02\",\n                \"title\": \"Service areas · Edit (regions.update)\",\n                \"back_route_name\": \"regions.update\",\n                \"front_route_name\": \"regions/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73b8-701e-a8ab-67e8b0c2119f\",\n                \"title\": \"Service areas · Delete (countries.destroy)\",\n                \"back_route_name\": \"countries.destroy\",\n                \"front_route_name\": \"countries/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73d2-72cf-b562-5297fa3bdcad\",\n                \"title\": \"Service areas · Delete (delivery-fee-rules.destroy)\",\n                \"back_route_name\": \"delivery-fee-rules.destroy\",\n                \"front_route_name\": \"delivery-fee-rules/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7414-72ba-86d0-6c16bce473fe\",\n                \"title\": \"Service areas · Delete (governorates.destroy)\",\n                \"back_route_name\": \"governorates.destroy\",\n                \"front_route_name\": \"governorates/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74a3-715c-a8bf-7c926f28732a\",\n                \"title\": \"Service areas · Delete (regions.destroy)\",\n                \"back_route_name\": \"regions.destroy\",\n                \"front_route_name\": \"regions/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Services, options & price ranges\": [\n            {\n                \"id\": \"01a1bab5-7389-70ad-9f0d-7c56d58bcd97\",\n                \"title\": \"Services, options & price ranges · View (categories.index)\",\n                \"back_route_name\": \"categories.index\",\n                \"front_route_name\": \"categories/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-738c-7165-946f-535851e9254b\",\n                \"title\": \"Services, options & price ranges · View (categories.show)\",\n                \"back_route_name\": \"categories.show\",\n                \"front_route_name\": \"categories/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7392-71c2-965a-f396444089a0\",\n                \"title\": \"Services, options & price ranges · View (categories.tree)\",\n                \"back_route_name\": \"categories.tree\",\n                \"front_route_name\": \"categories/tree\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-741f-70a7-83b4-11140f495831\",\n                \"title\": \"Services, options & price ranges · View (joshan.config.show)\",\n                \"back_route_name\": \"joshan.config.show\",\n                \"front_route_name\": \"joshan/config/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7425-7138-af38-f47c7709bda8\",\n                \"title\": \"Services, options & price ranges · View (joshan.occasions.index)\",\n                \"back_route_name\": \"joshan.occasions.index\",\n                \"front_route_name\": \"joshan/occasions/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7427-70ec-9d62-b4fddc084849\",\n                \"title\": \"Services, options & price ranges · View (joshan.occasions.show)\",\n                \"back_route_name\": \"joshan.occasions.show\",\n                \"front_route_name\": \"joshan/occasions/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-742d-7087-8ad6-f9059e141ec2\",\n                \"title\": \"Services, options & price ranges · View (joshan.searches.index)\",\n                \"back_route_name\": \"joshan.searches.index\",\n                \"front_route_name\": \"joshan/searches/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-742f-72b9-b099-c32ed5a0cab2\",\n                \"title\": \"Services, options & price ranges · View (joshan.searches.summary)\",\n                \"back_route_name\": \"joshan.searches.summary\",\n                \"front_route_name\": \"joshan/searches/summary\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d6-7272-b3b3-d275652497f1\",\n                \"title\": \"Services, options & price ranges · View (services.index)\",\n                \"back_route_name\": \"services.index\",\n                \"front_route_name\": \"services/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d9-7319-8841-db84c769d99d\",\n                \"title\": \"Services, options & price ranges · View (services.show)\",\n                \"back_route_name\": \"services.show\",\n                \"front_route_name\": \"services/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-738e-72ae-b715-41925a7404f9\",\n                \"title\": \"Services, options & price ranges · Add (categories.store)\",\n                \"back_route_name\": \"categories.store\",\n                \"front_route_name\": \"categories/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7429-70ed-930a-8965c876ec8a\",\n                \"title\": \"Services, options & price ranges · Add (joshan.occasions.store)\",\n                \"back_route_name\": \"joshan.occasions.store\",\n                \"front_route_name\": \"joshan/occasions/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74db-723c-beda-728e9d6b96fa\",\n                \"title\": \"Services, options & price ranges · Add (services.store)\",\n                \"back_route_name\": \"services.store\",\n                \"front_route_name\": \"services/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7390-7038-a0db-f019b796091d\",\n                \"title\": \"Services, options & price ranges · Edit (categories.toggle-active)\",\n                \"back_route_name\": \"categories.toggle-active\",\n                \"front_route_name\": \"categories/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7395-7082-bde4-fa0869b24baa\",\n                \"title\": \"Services, options & price ranges · Edit (categories.update)\",\n                \"back_route_name\": \"categories.update\",\n                \"front_route_name\": \"categories/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7421-72f5-afba-e70c5922d96b\",\n                \"title\": \"Services, options & price ranges · Edit (joshan.config.update)\",\n                \"back_route_name\": \"joshan.config.update\",\n                \"front_route_name\": \"joshan/config/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-742b-7069-8567-2c46c1e51c30\",\n                \"title\": \"Services, options & price ranges · Edit (joshan.occasions.update)\",\n                \"back_route_name\": \"joshan.occasions.update\",\n                \"front_route_name\": \"joshan/occasions/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74de-71b0-a723-357d24ccaf9f\",\n                \"title\": \"Services, options & price ranges · Edit (services.toggle-active)\",\n                \"back_route_name\": \"services.toggle-active\",\n                \"front_route_name\": \"services/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e0-70c7-9a12-06e334fcf0b3\",\n                \"title\": \"Services, options & price ranges · Edit (services.update)\",\n                \"back_route_name\": \"services.update\",\n                \"front_route_name\": \"services/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7387-7076-ab2e-f081ee5cfafc\",\n                \"title\": \"Services, options & price ranges · Delete (categories.destroy)\",\n                \"back_route_name\": \"categories.destroy\",\n                \"front_route_name\": \"categories/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7423-731a-8576-92d2054c8458\",\n                \"title\": \"Services, options & price ranges · Delete (joshan.occasions.destroy)\",\n                \"back_route_name\": \"joshan.occasions.destroy\",\n                \"front_route_name\": \"joshan/occasions/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d4-724a-bc2f-a2953ac9ef01\",\n                \"title\": \"Services, options & price ranges · Delete (services.destroy)\",\n                \"back_route_name\": \"services.destroy\",\n                \"front_route_name\": \"services/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Packages\": [\n            {\n                \"id\": \"01a1bab5-745c-730c-97e1-b9ed0aef27ea\",\n                \"title\": \"Packages · View (packages.index)\",\n                \"back_route_name\": \"packages.index\",\n                \"front_route_name\": \"packages/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7460-7225-8e63-9404a0972bcf\",\n                \"title\": \"Packages · View (packages.show)\",\n                \"back_route_name\": \"packages.show\",\n                \"front_route_name\": \"packages/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7459-73c8-92bc-9443b561a347\",\n                \"title\": \"Packages · Edit (packages.hide)\",\n                \"back_route_name\": \"packages.hide\",\n                \"front_route_name\": \"packages/hide\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7462-737c-817c-3486b7183a4e\",\n                \"title\": \"Packages · Edit (packages.unhide)\",\n                \"back_route_name\": \"packages.unhide\",\n                \"front_route_name\": \"packages/unhide\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7457-73ce-ac12-9a48a1df770d\",\n                \"title\": \"Packages · Approve (packages.approve)\",\n                \"back_route_name\": \"packages.approve\",\n                \"front_route_name\": \"packages/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-745e-7211-9433-ac21e463faca\",\n                \"title\": \"Packages · Approve (packages.reject)\",\n                \"back_route_name\": \"packages.reject\",\n                \"front_route_name\": \"packages/reject\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Orders\": [\n            {\n                \"id\": \"01a1bab5-73b4-7105-a554-966078711e68\",\n                \"title\": \"Orders · View (conversations.index)\",\n                \"back_route_name\": \"conversations.index\",\n                \"front_route_name\": \"conversations/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73b6-7099-a48b-924df9eb9bcd\",\n                \"title\": \"Orders · View (conversations.show)\",\n                \"back_route_name\": \"conversations.show\",\n                \"front_route_name\": \"conversations/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7453-7357-8c63-dc71453b098f\",\n                \"title\": \"Orders · View (orders.index)\",\n                \"back_route_name\": \"orders.index\",\n                \"front_route_name\": \"orders/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7455-725e-aced-3e231934635d\",\n                \"title\": \"Orders · View (orders.show)\",\n                \"back_route_name\": \"orders.show\",\n                \"front_route_name\": \"orders/show\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Transportation monitoring\": [\n            {\n                \"id\": \"01a1bab5-750d-70c4-970d-5231106c5234\",\n                \"title\": \"Transportation monitoring · View (trips.index)\",\n                \"back_route_name\": \"trips.index\",\n                \"front_route_name\": \"trips/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-750f-72d2-ad74-f0e42e685182\",\n                \"title\": \"Transportation monitoring · View (trips.show)\",\n                \"back_route_name\": \"trips.show\",\n                \"front_route_name\": \"trips/show\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Payments & coupons\": [\n            {\n                \"id\": \"01a1bab5-73c6-7241-a9c6-be2f3a40ca23\",\n                \"title\": \"Payments & coupons · View (coupons.index)\",\n                \"back_route_name\": \"coupons.index\",\n                \"front_route_name\": \"coupons/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c7-7296-978f-fe069275cc90\",\n                \"title\": \"Payments & coupons · View (coupons.redemptions)\",\n                \"back_route_name\": \"coupons.redemptions\",\n                \"front_route_name\": \"coupons/redemptions\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c9-7255-907b-575e48b1bf82\",\n                \"title\": \"Payments & coupons · View (coupons.show)\",\n                \"back_route_name\": \"coupons.show\",\n                \"front_route_name\": \"coupons/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-746f-72ec-a31a-6677aeb727d4\",\n                \"title\": \"Payments & coupons · View (payments.index)\",\n                \"back_route_name\": \"payments.index\",\n                \"front_route_name\": \"payments/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7471-71ee-8bb1-b34453a273ae\",\n                \"title\": \"Payments & coupons · View (payments.show)\",\n                \"back_route_name\": \"payments.show\",\n                \"front_route_name\": \"payments/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73cb-7112-ae07-3ac05c1084db\",\n                \"title\": \"Payments & coupons · Add (coupons.store)\",\n                \"back_route_name\": \"coupons.store\",\n                \"front_route_name\": \"coupons/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73cd-7198-ae82-6dc399f0b840\",\n                \"title\": \"Payments & coupons · Edit (coupons.update)\",\n                \"back_route_name\": \"coupons.update\",\n                \"front_route_name\": \"coupons/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c4-72a0-b7e8-85f48970f2aa\",\n                \"title\": \"Payments & coupons · Delete (coupons.destroy)\",\n                \"back_route_name\": \"coupons.destroy\",\n                \"front_route_name\": \"coupons/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Commissions, amounts due & payouts\": [\n            {\n                \"id\": \"01a1bab5-739f-7290-8738-c4ebca084736\",\n                \"title\": \"Commissions, amounts due & payouts · View (commission-rules.index)\",\n                \"back_route_name\": \"commission-rules.index\",\n                \"front_route_name\": \"commission-rules/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73a1-7282-9c7a-33d9e010379c\",\n                \"title\": \"Commissions, amounts due & payouts · View (commission-rules.show)\",\n                \"back_route_name\": \"commission-rules.show\",\n                \"front_route_name\": \"commission-rules/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7474-7356-b250-7d664e09dedd\",\n                \"title\": \"Commissions, amounts due & payouts · View (payout-balances.index)\",\n                \"back_route_name\": \"payout-balances.index\",\n                \"front_route_name\": \"payout-balances/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-747f-734b-aa21-7e288946f536\",\n                \"title\": \"Commissions, amounts due & payouts · View (payouts.index)\",\n                \"back_route_name\": \"payouts.index\",\n                \"front_route_name\": \"payouts/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7485-71ee-991d-70f2d40628c8\",\n                \"title\": \"Commissions, amounts due & payouts · View (payouts.show)\",\n                \"back_route_name\": \"payouts.show\",\n                \"front_route_name\": \"payouts/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73a3-72ca-84f1-2f8e97ff2724\",\n                \"title\": \"Commissions, amounts due & payouts · Add (commission-rules.store)\",\n                \"back_route_name\": \"commission-rules.store\",\n                \"front_route_name\": \"commission-rules/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73a6-727d-b39a-61528e57c8bb\",\n                \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.toggle-active)\",\n                \"back_route_name\": \"commission-rules.toggle-active\",\n                \"front_route_name\": \"commission-rules/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73a8-739a-af18-6e373c4ab863\",\n                \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.update)\",\n                \"back_route_name\": \"commission-rules.update\",\n                \"front_route_name\": \"commission-rules/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-739d-7108-9ce3-666f0bbe545c\",\n                \"title\": \"Commissions, amounts due & payouts · Delete (commission-rules.destroy)\",\n                \"back_route_name\": \"commission-rules.destroy\",\n                \"front_route_name\": \"commission-rules/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7477-703a-9ae8-e1c1836547c2\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.bank-account)\",\n                \"back_route_name\": \"payouts.bank-account\",\n                \"front_route_name\": \"payouts/bank-account\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-747a-72bf-a6e5-5afb6f36a8d0\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.cancel)\",\n                \"back_route_name\": \"payouts.cancel\",\n                \"front_route_name\": \"payouts/cancel\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-747c-7097-ba83-d982eb559570\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.fail)\",\n                \"back_route_name\": \"payouts.fail\",\n                \"front_route_name\": \"payouts/fail\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7481-7153-b281-89375ed1bc4f\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.paid)\",\n                \"back_route_name\": \"payouts.paid\",\n                \"front_route_name\": \"payouts/paid\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7483-73be-b14a-88125ab6e254\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.processing)\",\n                \"back_route_name\": \"payouts.processing\",\n                \"front_route_name\": \"payouts/processing\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Cancellations & refunds\": [\n            {\n                \"id\": \"01a1bab5-7378-737f-b830-9c06d61b92b9\",\n                \"title\": \"Cancellations & refunds · View (cancellation-rules.index)\",\n                \"back_route_name\": \"cancellation-rules.index\",\n                \"front_route_name\": \"cancellation-rules/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-737b-7068-b43d-4fa672026ea8\",\n                \"title\": \"Cancellations & refunds · View (cancellation-rules.show)\",\n                \"back_route_name\": \"cancellation-rules.show\",\n                \"front_route_name\": \"cancellation-rules/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7383-734c-b8c4-ac58f98d1fc7\",\n                \"title\": \"Cancellations & refunds · View (cancellations.index)\",\n                \"back_route_name\": \"cancellations.index\",\n                \"front_route_name\": \"cancellations/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7385-730d-b530-5847efe319dc\",\n                \"title\": \"Cancellations & refunds · View (cancellations.show)\",\n                \"back_route_name\": \"cancellations.show\",\n                \"front_route_name\": \"cancellations/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-749c-7121-a1ce-56fd66141f93\",\n                \"title\": \"Cancellations & refunds · View (refunds.index)\",\n                \"back_route_name\": \"refunds.index\",\n                \"front_route_name\": \"refunds/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-749e-7263-b680-d04d6b075726\",\n                \"title\": \"Cancellations & refunds · View (refunds.show)\",\n                \"back_route_name\": \"refunds.show\",\n                \"front_route_name\": \"refunds/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-737e-7371-b5f3-6e40bc55d41f\",\n                \"title\": \"Cancellations & refunds · Add (cancellation-rules.store)\",\n                \"back_route_name\": \"cancellation-rules.store\",\n                \"front_route_name\": \"cancellation-rules/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74a1-7260-aa05-3c21c658b305\",\n                \"title\": \"Cancellations & refunds · Add (refunds.store)\",\n                \"back_route_name\": \"refunds.store\",\n                \"front_route_name\": \"refunds/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7381-7261-a84a-194065047c95\",\n                \"title\": \"Cancellations & refunds · Edit (cancellation-rules.update)\",\n                \"back_route_name\": \"cancellation-rules.update\",\n                \"front_route_name\": \"cancellation-rules/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7376-72e4-b356-62262474cd32\",\n                \"title\": \"Cancellations & refunds · Delete (cancellation-rules.destroy)\",\n                \"back_route_name\": \"cancellation-rules.destroy\",\n                \"front_route_name\": \"cancellation-rules/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Featured subscriptions\": [\n            {\n                \"id\": \"01a1bab5-7407-714e-aa11-758f2e35bed0\",\n                \"title\": \"Featured subscriptions · View (featured-plans.index)\",\n                \"back_route_name\": \"featured-plans.index\",\n                \"front_route_name\": \"featured-plans/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7409-72db-b498-30632df9ce11\",\n                \"title\": \"Featured subscriptions · View (featured-plans.show)\",\n                \"back_route_name\": \"featured-plans.show\",\n                \"front_route_name\": \"featured-plans/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-740f-725e-b47b-95d6790367ad\",\n                \"title\": \"Featured subscriptions · View (featured-subscriptions.index)\",\n                \"back_route_name\": \"featured-subscriptions.index\",\n                \"front_route_name\": \"featured-subscriptions/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7412-7024-b3bd-065a168b885b\",\n                \"title\": \"Featured subscriptions · View (featured-subscriptions.show)\",\n                \"back_route_name\": \"featured-subscriptions.show\",\n                \"front_route_name\": \"featured-subscriptions/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-740b-7227-b57c-942372da8e8f\",\n                \"title\": \"Featured subscriptions · Add (featured-plans.store)\",\n                \"back_route_name\": \"featured-plans.store\",\n                \"front_route_name\": \"featured-plans/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-740d-7318-bf20-b7b068616803\",\n                \"title\": \"Featured subscriptions · Edit (featured-plans.update)\",\n                \"back_route_name\": \"featured-plans.update\",\n                \"front_route_name\": \"featured-plans/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7405-727a-8d6f-78ddcc10b2d8\",\n                \"title\": \"Featured subscriptions · Delete (featured-plans.destroy)\",\n                \"back_route_name\": \"featured-plans.destroy\",\n                \"front_route_name\": \"featured-plans/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Ratings\": [\n            {\n                \"id\": \"01a1bab5-74c2-72e2-b342-afd3ee4de6aa\",\n                \"title\": \"Ratings · View (reviews.index)\",\n                \"back_route_name\": \"reviews.index\",\n                \"front_route_name\": \"reviews/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74c6-71c1-9a01-7ddf913eb99a\",\n                \"title\": \"Ratings · View (reviews.show)\",\n                \"back_route_name\": \"reviews.show\",\n                \"front_route_name\": \"reviews/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74c0-72a7-8a97-23185dcee9bb\",\n                \"title\": \"Ratings · Edit (reviews.hide)\",\n                \"back_route_name\": \"reviews.hide\",\n                \"front_route_name\": \"reviews/hide\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74c4-724c-b502-23e9d41ab3d8\",\n                \"title\": \"Ratings · Edit (reviews.publish)\",\n                \"back_route_name\": \"reviews.publish\",\n                \"front_route_name\": \"reviews/publish\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Banners & content\": [\n            {\n                \"id\": \"01a1bab5-73f2-70ad-8a02-508e0dc38cfb\",\n                \"title\": \"Banners & content · View (faqs.index)\",\n                \"back_route_name\": \"faqs.index\",\n                \"front_route_name\": \"faqs/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73f4-71c0-9961-f14e855f255e\",\n                \"title\": \"Banners & content · View (faqs.show)\",\n                \"back_route_name\": \"faqs.show\",\n                \"front_route_name\": \"faqs/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-744a-7337-bd1c-95506174f52b\",\n                \"title\": \"Banners & content · View (onboarding-slides.index)\",\n                \"back_route_name\": \"onboarding-slides.index\",\n                \"front_route_name\": \"onboarding-slides/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-744d-71e7-b224-5a62daa74adf\",\n                \"title\": \"Banners & content · View (onboarding-slides.show)\",\n                \"back_route_name\": \"onboarding-slides.show\",\n                \"front_route_name\": \"onboarding-slides/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7467-71db-ae31-522d160f1eb6\",\n                \"title\": \"Banners & content · View (pages.index)\",\n                \"back_route_name\": \"pages.index\",\n                \"front_route_name\": \"pages/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7469-7218-86dd-8fca2715e0d0\",\n                \"title\": \"Banners & content · View (pages.show)\",\n                \"back_route_name\": \"pages.show\",\n                \"front_route_name\": \"pages/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e9-7358-9443-a5ae87d864b8\",\n                \"title\": \"Banners & content · View (sliders.index)\",\n                \"back_route_name\": \"sliders.index\",\n                \"front_route_name\": \"sliders/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74eb-7130-92f8-0d530dd87e0f\",\n                \"title\": \"Banners & content · View (sliders.show)\",\n                \"back_route_name\": \"sliders.show\",\n                \"front_route_name\": \"sliders/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73f6-7111-b43b-30bbb2ffb374\",\n                \"title\": \"Banners & content · Add (faqs.store)\",\n                \"back_route_name\": \"faqs.store\",\n                \"front_route_name\": \"faqs/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-744f-71bd-8bc9-9ce9607ea9bf\",\n                \"title\": \"Banners & content · Add (onboarding-slides.store)\",\n                \"back_route_name\": \"onboarding-slides.store\",\n                \"front_route_name\": \"onboarding-slides/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-746b-724a-98df-340a6653ed8a\",\n                \"title\": \"Banners & content · Add (pages.store)\",\n                \"back_route_name\": \"pages.store\",\n                \"front_route_name\": \"pages/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ed-73c8-a574-74d84b2e3245\",\n                \"title\": \"Banners & content · Add (sliders.store)\",\n                \"back_route_name\": \"sliders.store\",\n                \"front_route_name\": \"sliders/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73f8-732e-8df2-14331543ebce\",\n                \"title\": \"Banners & content · Edit (faqs.update)\",\n                \"back_route_name\": \"faqs.update\",\n                \"front_route_name\": \"faqs/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7451-72cf-bd10-5a47548b6ad0\",\n                \"title\": \"Banners & content · Edit (onboarding-slides.update)\",\n                \"back_route_name\": \"onboarding-slides.update\",\n                \"front_route_name\": \"onboarding-slides/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-746d-70a5-aeb6-89d206917d54\",\n                \"title\": \"Banners & content · Edit (pages.update)\",\n                \"back_route_name\": \"pages.update\",\n                \"front_route_name\": \"pages/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f0-717e-83c5-00e052b0e5ac\",\n                \"title\": \"Banners & content · Edit (sliders.update)\",\n                \"back_route_name\": \"sliders.update\",\n                \"front_route_name\": \"sliders/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73f0-7223-baa0-8f10a85a931b\",\n                \"title\": \"Banners & content · Delete (faqs.destroy)\",\n                \"back_route_name\": \"faqs.destroy\",\n                \"front_route_name\": \"faqs/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7447-73bf-972e-403e2fdead8a\",\n                \"title\": \"Banners & content · Delete (onboarding-slides.destroy)\",\n                \"back_route_name\": \"onboarding-slides.destroy\",\n                \"front_route_name\": \"onboarding-slides/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7464-73ab-9fac-eb973d5a3b78\",\n                \"title\": \"Banners & content · Delete (pages.destroy)\",\n                \"back_route_name\": \"pages.destroy\",\n                \"front_route_name\": \"pages/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e7-7342-a57d-fdbb29cb55dd\",\n                \"title\": \"Banners & content · Delete (sliders.destroy)\",\n                \"back_route_name\": \"sliders.destroy\",\n                \"front_route_name\": \"sliders/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Notifications\": [\n            {\n                \"id\": \"01a1bab5-7432-71a8-bf2a-5f8cd07714b7\",\n                \"title\": \"Notifications · View (notifications.deliveries.index)\",\n                \"back_route_name\": \"notifications.deliveries.index\",\n                \"front_route_name\": \"notifications/deliveries/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7434-7201-affb-447060e540e0\",\n                \"title\": \"Notifications · View (notifications.general.index)\",\n                \"back_route_name\": \"notifications.general.index\",\n                \"front_route_name\": \"notifications/general/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7438-710d-9305-eaa6856eaaf4\",\n                \"title\": \"Notifications · View (notifications.general.show)\",\n                \"back_route_name\": \"notifications.general.show\",\n                \"front_route_name\": \"notifications/general/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-743d-7085-8ea8-7cf48661e650\",\n                \"title\": \"Notifications · View (notifications.index)\",\n                \"back_route_name\": \"notifications.index\",\n                \"front_route_name\": \"notifications/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-743f-73d6-b969-0b71d49eb9fa\",\n                \"title\": \"Notifications · View (notifications.templates.index)\",\n                \"back_route_name\": \"notifications.templates.index\",\n                \"front_route_name\": \"notifications/templates/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7441-731b-b78c-4664433bad34\",\n                \"title\": \"Notifications · View (notifications.templates.show)\",\n                \"back_route_name\": \"notifications.templates.show\",\n                \"front_route_name\": \"notifications/templates/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7436-7293-b5b3-6f5e01e2580a\",\n                \"title\": \"Notifications · Add (notifications.general.retry)\",\n                \"back_route_name\": \"notifications.general.retry\",\n                \"front_route_name\": \"notifications/general/retry\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-743b-72e7-81e6-3bcdd20a7376\",\n                \"title\": \"Notifications · Add (notifications.general.store)\",\n                \"back_route_name\": \"notifications.general.store\",\n                \"front_route_name\": \"notifications/general/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7444-7147-ad1b-b8aa7a9ad148\",\n                \"title\": \"Notifications · Edit (notifications.templates.update)\",\n                \"back_route_name\": \"notifications.templates.update\",\n                \"front_route_name\": \"notifications/templates/edit\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Support & contact requests\": [\n            {\n                \"id\": \"01a1bab5-73ac-7029-a6d5-5c324444fae4\",\n                \"title\": \"Support & contact requests · View (contact-messages.index)\",\n                \"back_route_name\": \"contact-messages.index\",\n                \"front_route_name\": \"contact-messages/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73b1-708e-89b9-42a52283f51c\",\n                \"title\": \"Support & contact requests · View (contact-messages.show)\",\n                \"back_route_name\": \"contact-messages.show\",\n                \"front_route_name\": \"contact-messages/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7503-73c6-b044-5123979fb590\",\n                \"title\": \"Support & contact requests · View (support-tickets.index)\",\n                \"back_route_name\": \"support-tickets.index\",\n                \"front_route_name\": \"support-tickets/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7507-7266-9499-b6aa0ac4fc58\",\n                \"title\": \"Support & contact requests · View (support-tickets.show)\",\n                \"back_route_name\": \"support-tickets.show\",\n                \"front_route_name\": \"support-tickets/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73af-705b-a966-6347c7095c61\",\n                \"title\": \"Support & contact requests · Edit (contact-messages.reply)\",\n                \"back_route_name\": \"contact-messages.reply\",\n                \"front_route_name\": \"contact-messages/reply\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ff-712a-a672-880f3e66bdbb\",\n                \"title\": \"Support & contact requests · Edit (support-tickets.assign)\",\n                \"back_route_name\": \"support-tickets.assign\",\n                \"front_route_name\": \"support-tickets/assign\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7501-72b2-b201-654a65cfd92e\",\n                \"title\": \"Support & contact requests · Edit (support-tickets.close)\",\n                \"back_route_name\": \"support-tickets.close\",\n                \"front_route_name\": \"support-tickets/close\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7505-7196-8e11-de95cdd72265\",\n                \"title\": \"Support & contact requests · Edit (support-tickets.reply)\",\n                \"back_route_name\": \"support-tickets.reply\",\n                \"front_route_name\": \"support-tickets/reply\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-750a-7270-98f7-9eb08b0ce5fc\",\n                \"title\": \"Support & contact requests · Edit (support-tickets.status)\",\n                \"back_route_name\": \"support-tickets.status\",\n                \"front_route_name\": \"support-tickets/status\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73aa-7062-b968-a206e9fea3d3\",\n                \"title\": \"Support & contact requests · Delete (contact-messages.destroy)\",\n                \"back_route_name\": \"contact-messages.destroy\",\n                \"front_route_name\": \"contact-messages/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Reports & statistics\": [\n            {\n                \"id\": \"01a1bab5-74bc-72dd-91c2-5b350f17d282\",\n                \"title\": \"Reports & statistics · View (reports.rankings)\",\n                \"back_route_name\": \"reports.rankings\",\n                \"front_route_name\": \"reports/rankings\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74bd-73ca-9f88-918f6737c2d5\",\n                \"title\": \"Reports & statistics · View (reports.summary)\",\n                \"back_route_name\": \"reports.summary\",\n                \"front_route_name\": \"reports/summary\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Platform settings\": [\n            {\n                \"id\": \"01a1bab5-73fe-7047-ab92-57a905cd2279\",\n                \"title\": \"Platform settings · View (feature-flags.index)\",\n                \"back_route_name\": \"feature-flags.index\",\n                \"front_route_name\": \"feature-flags/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e2-7254-a495-0eb577b83a65\",\n                \"title\": \"Platform settings · View (settings.index)\",\n                \"back_route_name\": \"settings.index\",\n                \"front_route_name\": \"settings/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73fa-70cf-b7f9-bd72dadd3ec6\",\n                \"title\": \"Platform settings · Add (feature-flags.create)\",\n                \"back_route_name\": \"feature-flags.create\",\n                \"front_route_name\": \"feature-flags/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7401-7057-893a-03dfc391c74a\",\n                \"title\": \"Platform settings · Edit (feature-flags.toggle)\",\n                \"back_route_name\": \"feature-flags.toggle\",\n                \"front_route_name\": \"feature-flags/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7403-7189-9ed7-5755dd3be87b\",\n                \"title\": \"Platform settings · Edit (feature-flags.update)\",\n                \"back_route_name\": \"feature-flags.update\",\n                \"front_route_name\": \"feature-flags/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e4-7298-9eb9-c617fdd7c79f\",\n                \"title\": \"Platform settings · Edit (settings.update)\",\n                \"back_route_name\": \"settings.update\",\n                \"front_route_name\": \"settings/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73fc-729c-b279-47f6527c0019\",\n                \"title\": \"Platform settings · Delete (feature-flags.delete)\",\n                \"back_route_name\": \"feature-flags.delete\",\n                \"front_route_name\": \"feature-flags/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Administrators & permissions\": [\n            {\n                \"id\": \"01a1bab5-7373-70d6-8462-5158c662072c\",\n                \"title\": \"Administrators & permissions · View (audit-logs.index)\",\n                \"back_route_name\": \"audit-logs.index\",\n                \"front_route_name\": \"audit-logs/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7488-721e-8967-2a2a8dda9b79\",\n                \"title\": \"Administrators & permissions · View (permissions.index)\",\n                \"back_route_name\": \"permissions.index\",\n                \"front_route_name\": \"permissions/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ca-714f-8df1-39a6a05552d3\",\n                \"title\": \"Administrators & permissions · View (roles.index)\",\n                \"back_route_name\": \"roles.index\",\n                \"front_route_name\": \"roles/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74cc-71d6-8046-8a63ce481380\",\n                \"title\": \"Administrators & permissions · View (roles.show)\",\n                \"back_route_name\": \"roles.show\",\n                \"front_route_name\": \"roles/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f4-70c2-b9f4-b2d781799cf8\",\n                \"title\": \"Administrators & permissions · View (supervisors.index)\",\n                \"back_route_name\": \"supervisors.index\",\n                \"front_route_name\": \"supervisors/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f6-7268-a904-d4cff462a6b4\",\n                \"title\": \"Administrators & permissions · View (supervisors.show)\",\n                \"back_route_name\": \"supervisors.show\",\n                \"front_route_name\": \"supervisors/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ce-7179-be3b-05a9977357e4\",\n                \"title\": \"Administrators & permissions · Add (roles.store)\",\n                \"back_route_name\": \"roles.store\",\n                \"front_route_name\": \"roles/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f8-7314-9900-38343e3bd6c5\",\n                \"title\": \"Administrators & permissions · Add (supervisors.store)\",\n                \"back_route_name\": \"supervisors.store\",\n                \"front_route_name\": \"supervisors/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d0-7045-97d1-54c40a0711c0\",\n                \"title\": \"Administrators & permissions · Edit (roles.toggle-active)\",\n                \"back_route_name\": \"roles.toggle-active\",\n                \"front_route_name\": \"roles/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d2-715c-8294-ba26157680b3\",\n                \"title\": \"Administrators & permissions · Edit (roles.update)\",\n                \"back_route_name\": \"roles.update\",\n                \"front_route_name\": \"roles/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74fa-738e-8843-34af0fc543c3\",\n                \"title\": \"Administrators & permissions · Edit (supervisors.toggle-active)\",\n                \"back_route_name\": \"supervisors.toggle-active\",\n                \"front_route_name\": \"supervisors/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74fc-732c-8099-6773bd27e170\",\n                \"title\": \"Administrators & permissions · Edit (supervisors.update)\",\n                \"back_route_name\": \"supervisors.update\",\n                \"front_route_name\": \"supervisors/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74c8-712c-9220-7b3f0b9142f9\",\n                \"title\": \"Administrators & permissions · Delete (roles.destroy)\",\n                \"back_route_name\": \"roles.destroy\",\n                \"front_route_name\": \"roles/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f2-70ea-b3b6-28cfe1ec5a30\",\n                \"title\": \"Administrators & permissions · Delete (supervisors.destroy)\",\n                \"back_route_name\": \"supervisors.destroy\",\n                \"front_route_name\": \"supervisors/delete\",\n                \"icon\": \"\"\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Permissions Matrix",
                                            "_joshen": {
                                                "route": "admin.permissions.index",
                                                "name": "Permissions Matrix",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/permissions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\PermissionCatalogTest::test_ac_admin_024_permissions_lists_sections_by_title"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/permissions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "permissions"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Permissions retrieved successfully.\",\n    \"data\": {\n        \"Dashboard\": [\n            {\n                \"id\": \"01a1bab5-73d0-71a9-81e8-7973a786c7ce\",\n                \"title\": \"Dashboard · View (dashboard.index)\",\n                \"back_route_name\": \"dashboard.index\",\n                \"front_route_name\": \"home/show-all\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Customers\": [\n            {\n                \"id\": \"01a1bab5-7512-711a-b1b5-6af025e6eea0\",\n                \"title\": \"Customers · View (users.index)\",\n                \"back_route_name\": \"users.index\",\n                \"front_route_name\": \"users/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7517-70dc-ba5e-79363cbcaca2\",\n                \"title\": \"Customers · View (users.view)\",\n                \"back_route_name\": \"users.view\",\n                \"front_route_name\": \"users/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7519-7053-a987-e0af2c34f5b1\",\n                \"title\": \"Customers · View (users.wallet-transactions)\",\n                \"back_route_name\": \"users.wallet-transactions\",\n                \"front_route_name\": \"users/wallet-transactions\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7515-7281-beff-ea946710e050\",\n                \"title\": \"Customers · Edit (users.toggle)\",\n                \"back_route_name\": \"users.toggle\",\n                \"front_route_name\": \"users/toggle-active\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Service providers\": [\n            {\n                \"id\": \"01a1bab5-748e-724c-9f70-2fce54e45409\",\n                \"title\": \"Service providers · View (providers.index)\",\n                \"back_route_name\": \"providers.index\",\n                \"front_route_name\": \"providers/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7496-7049-91de-58d8f84a89ef\",\n                \"title\": \"Service providers · View (providers.show)\",\n                \"back_route_name\": \"providers.show\",\n                \"front_route_name\": \"providers/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-749a-709b-9e94-fd2b13d9d62d\",\n                \"title\": \"Service providers · Edit (providers.work-area)\",\n                \"back_route_name\": \"providers.work-area\",\n                \"front_route_name\": \"providers/work-area\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-748a-7314-9f92-3c21bc3af90f\",\n                \"title\": \"Service providers · Approve (providers.approve)\",\n                \"back_route_name\": \"providers.approve\",\n                \"front_route_name\": \"providers/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-748c-72c4-9d9e-569dc8e94834\",\n                \"title\": \"Service providers · Approve (providers.identity)\",\n                \"back_route_name\": \"providers.identity\",\n                \"front_route_name\": \"providers/identity\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7490-7283-a7a8-c674822b2d5c\",\n                \"title\": \"Service providers · Approve (providers.reactivate)\",\n                \"back_route_name\": \"providers.reactivate\",\n                \"front_route_name\": \"providers/reactivate\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7492-729e-996a-8126f83a49f1\",\n                \"title\": \"Service providers · Approve (providers.reject)\",\n                \"back_route_name\": \"providers.reject\",\n                \"front_route_name\": \"providers/reject\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7494-719a-b3cc-8d7d448242d2\",\n                \"title\": \"Service providers · Approve (providers.request-changes)\",\n                \"back_route_name\": \"providers.request-changes\",\n                \"front_route_name\": \"providers/request-changes\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7498-714f-ac81-3b0ddd3b1add\",\n                \"title\": \"Service providers · Approve (providers.suspend)\",\n                \"back_route_name\": \"providers.suspend\",\n                \"front_route_name\": \"providers/suspend\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Drivers\": [\n            {\n                \"id\": \"01a1bab5-73e1-7176-b93e-3952ea041c27\",\n                \"title\": \"Drivers · View (drivers.index)\",\n                \"back_route_name\": \"drivers.index\",\n                \"front_route_name\": \"drivers/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73ea-7325-923e-1f4608a5fd99\",\n                \"title\": \"Drivers · View (drivers.show)\",\n                \"back_route_name\": \"drivers.show\",\n                \"front_route_name\": \"drivers/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73ee-703f-9e0d-9a3e369885d2\",\n                \"title\": \"Drivers · Edit (drivers.work-area)\",\n                \"back_route_name\": \"drivers.work-area\",\n                \"front_route_name\": \"drivers/work-area\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73dc-73de-9b12-bff022d1f7aa\",\n                \"title\": \"Drivers · Approve (drivers.approve)\",\n                \"back_route_name\": \"drivers.approve\",\n                \"front_route_name\": \"drivers/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73de-72f0-bef3-60958f34c478\",\n                \"title\": \"Drivers · Approve (drivers.identity)\",\n                \"back_route_name\": \"drivers.identity\",\n                \"front_route_name\": \"drivers/identity\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73e3-7058-aa83-263671d4cf07\",\n                \"title\": \"Drivers · Approve (drivers.reactivate)\",\n                \"back_route_name\": \"drivers.reactivate\",\n                \"front_route_name\": \"drivers/reactivate\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73e6-71be-a1e4-9ec50a185380\",\n                \"title\": \"Drivers · Approve (drivers.reject)\",\n                \"back_route_name\": \"drivers.reject\",\n                \"front_route_name\": \"drivers/reject\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73e8-7203-a5a3-001ef23aefef\",\n                \"title\": \"Drivers · Approve (drivers.request-changes)\",\n                \"back_route_name\": \"drivers.request-changes\",\n                \"front_route_name\": \"drivers/request-changes\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73ec-73ea-8255-2ebedd1c4d84\",\n                \"title\": \"Drivers · Approve (drivers.suspend)\",\n                \"back_route_name\": \"drivers.suspend\",\n                \"front_route_name\": \"drivers/suspend\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Registration review\": [\n            {\n                \"id\": \"01a1bab5-7399-7267-b95a-d137e926348b\",\n                \"title\": \"Registration review · View (category-requests.index)\",\n                \"back_route_name\": \"category-requests.index\",\n                \"front_route_name\": \"category-requests/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74b2-7348-bfd4-34a171c79d76\",\n                \"title\": \"Registration review · View (registration-requests.index)\",\n                \"back_route_name\": \"registration-requests.index\",\n                \"front_route_name\": \"registration-requests/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74b9-72d4-9b46-83369d296b15\",\n                \"title\": \"Registration review · View (registration-requests.show)\",\n                \"back_route_name\": \"registration-requests.show\",\n                \"front_route_name\": \"registration-requests/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7397-73de-8386-ed3eb3e14660\",\n                \"title\": \"Registration review · Approve (category-requests.approve)\",\n                \"back_route_name\": \"category-requests.approve\",\n                \"front_route_name\": \"category-requests/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-739b-71af-ace4-fea3d69b7430\",\n                \"title\": \"Registration review · Approve (category-requests.reject)\",\n                \"back_route_name\": \"category-requests.reject\",\n                \"front_route_name\": \"category-requests/reject\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74af-72af-bafb-5c02d8c1e6c6\",\n                \"title\": \"Registration review · Approve (registration-requests.approve)\",\n                \"back_route_name\": \"registration-requests.approve\",\n                \"front_route_name\": \"registration-requests/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74b4-73b6-ad12-d24a83d46b46\",\n                \"title\": \"Registration review · Approve (registration-requests.reject)\",\n                \"back_route_name\": \"registration-requests.reject\",\n                \"front_route_name\": \"registration-requests/reject\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74b7-720c-ac9d-17e6ac9c9598\",\n                \"title\": \"Registration review · Approve (registration-requests.request-changes)\",\n                \"back_route_name\": \"registration-requests.request-changes\",\n                \"front_route_name\": \"registration-requests/request-changes\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Service areas\": [\n            {\n                \"id\": \"01a1bab5-73bb-72a4-a65c-5e42f5900d55\",\n                \"title\": \"Service areas · View (countries.index)\",\n                \"back_route_name\": \"countries.index\",\n                \"front_route_name\": \"countries/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73be-7278-b89c-1c0adae7d6b3\",\n                \"title\": \"Service areas · View (countries.show)\",\n                \"back_route_name\": \"countries.show\",\n                \"front_route_name\": \"countries/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73d4-73aa-a767-675c58ede6e0\",\n                \"title\": \"Service areas · View (delivery-fee-rules.index)\",\n                \"back_route_name\": \"delivery-fee-rules.index\",\n                \"front_route_name\": \"delivery-fee-rules/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73d6-7387-bb87-62f574bdced8\",\n                \"title\": \"Service areas · View (delivery-fee-rules.show)\",\n                \"back_route_name\": \"delivery-fee-rules.show\",\n                \"front_route_name\": \"delivery-fee-rules/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7417-736a-9a5e-f073a62f0db8\",\n                \"title\": \"Service areas · View (governorates.index)\",\n                \"back_route_name\": \"governorates.index\",\n                \"front_route_name\": \"governorates/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7419-732d-9c0d-3c77189230ee\",\n                \"title\": \"Service areas · View (governorates.show)\",\n                \"back_route_name\": \"governorates.show\",\n                \"front_route_name\": \"governorates/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74a5-710b-b036-fd74d8d31f3f\",\n                \"title\": \"Service areas · View (regions.index)\",\n                \"back_route_name\": \"regions.index\",\n                \"front_route_name\": \"regions/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74a8-72cd-8ebf-707ea30c88d6\",\n                \"title\": \"Service areas · View (regions.show)\",\n                \"back_route_name\": \"regions.show\",\n                \"front_route_name\": \"regions/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c0-7315-85ec-c29a91dcc8af\",\n                \"title\": \"Service areas · Add (countries.store)\",\n                \"back_route_name\": \"countries.store\",\n                \"front_route_name\": \"countries/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73d8-73fd-a3fd-fe13e0f2c00b\",\n                \"title\": \"Service areas · Add (delivery-fee-rules.store)\",\n                \"back_route_name\": \"delivery-fee-rules.store\",\n                \"front_route_name\": \"delivery-fee-rules/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-741b-70f1-84f6-1669dfde9a03\",\n                \"title\": \"Service areas · Add (governorates.store)\",\n                \"back_route_name\": \"governorates.store\",\n                \"front_route_name\": \"governorates/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74aa-7319-98be-7535f75b0c17\",\n                \"title\": \"Service areas · Add (regions.store)\",\n                \"back_route_name\": \"regions.store\",\n                \"front_route_name\": \"regions/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c2-70e6-9e4c-38adf9f8990f\",\n                \"title\": \"Service areas · Edit (countries.update)\",\n                \"back_route_name\": \"countries.update\",\n                \"front_route_name\": \"countries/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73da-70d1-9db9-1b435a172d8d\",\n                \"title\": \"Service areas · Edit (delivery-fee-rules.update)\",\n                \"back_route_name\": \"delivery-fee-rules.update\",\n                \"front_route_name\": \"delivery-fee-rules/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-741d-7025-a271-7a5533b5605a\",\n                \"title\": \"Service areas · Edit (governorates.update)\",\n                \"back_route_name\": \"governorates.update\",\n                \"front_route_name\": \"governorates/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ad-72c5-abc3-77a17377ce02\",\n                \"title\": \"Service areas · Edit (regions.update)\",\n                \"back_route_name\": \"regions.update\",\n                \"front_route_name\": \"regions/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73b8-701e-a8ab-67e8b0c2119f\",\n                \"title\": \"Service areas · Delete (countries.destroy)\",\n                \"back_route_name\": \"countries.destroy\",\n                \"front_route_name\": \"countries/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73d2-72cf-b562-5297fa3bdcad\",\n                \"title\": \"Service areas · Delete (delivery-fee-rules.destroy)\",\n                \"back_route_name\": \"delivery-fee-rules.destroy\",\n                \"front_route_name\": \"delivery-fee-rules/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7414-72ba-86d0-6c16bce473fe\",\n                \"title\": \"Service areas · Delete (governorates.destroy)\",\n                \"back_route_name\": \"governorates.destroy\",\n                \"front_route_name\": \"governorates/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74a3-715c-a8bf-7c926f28732a\",\n                \"title\": \"Service areas · Delete (regions.destroy)\",\n                \"back_route_name\": \"regions.destroy\",\n                \"front_route_name\": \"regions/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Services, options & price ranges\": [\n            {\n                \"id\": \"01a1bab5-7389-70ad-9f0d-7c56d58bcd97\",\n                \"title\": \"Services, options & price ranges · View (categories.index)\",\n                \"back_route_name\": \"categories.index\",\n                \"front_route_name\": \"categories/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-738c-7165-946f-535851e9254b\",\n                \"title\": \"Services, options & price ranges · View (categories.show)\",\n                \"back_route_name\": \"categories.show\",\n                \"front_route_name\": \"categories/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7392-71c2-965a-f396444089a0\",\n                \"title\": \"Services, options & price ranges · View (categories.tree)\",\n                \"back_route_name\": \"categories.tree\",\n                \"front_route_name\": \"categories/tree\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-741f-70a7-83b4-11140f495831\",\n                \"title\": \"Services, options & price ranges · View (joshan.config.show)\",\n                \"back_route_name\": \"joshan.config.show\",\n                \"front_route_name\": \"joshan/config/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7425-7138-af38-f47c7709bda8\",\n                \"title\": \"Services, options & price ranges · View (joshan.occasions.index)\",\n                \"back_route_name\": \"joshan.occasions.index\",\n                \"front_route_name\": \"joshan/occasions/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7427-70ec-9d62-b4fddc084849\",\n                \"title\": \"Services, options & price ranges · View (joshan.occasions.show)\",\n                \"back_route_name\": \"joshan.occasions.show\",\n                \"front_route_name\": \"joshan/occasions/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-742d-7087-8ad6-f9059e141ec2\",\n                \"title\": \"Services, options & price ranges · View (joshan.searches.index)\",\n                \"back_route_name\": \"joshan.searches.index\",\n                \"front_route_name\": \"joshan/searches/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-742f-72b9-b099-c32ed5a0cab2\",\n                \"title\": \"Services, options & price ranges · View (joshan.searches.summary)\",\n                \"back_route_name\": \"joshan.searches.summary\",\n                \"front_route_name\": \"joshan/searches/summary\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d6-7272-b3b3-d275652497f1\",\n                \"title\": \"Services, options & price ranges · View (services.index)\",\n                \"back_route_name\": \"services.index\",\n                \"front_route_name\": \"services/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d9-7319-8841-db84c769d99d\",\n                \"title\": \"Services, options & price ranges · View (services.show)\",\n                \"back_route_name\": \"services.show\",\n                \"front_route_name\": \"services/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-738e-72ae-b715-41925a7404f9\",\n                \"title\": \"Services, options & price ranges · Add (categories.store)\",\n                \"back_route_name\": \"categories.store\",\n                \"front_route_name\": \"categories/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7429-70ed-930a-8965c876ec8a\",\n                \"title\": \"Services, options & price ranges · Add (joshan.occasions.store)\",\n                \"back_route_name\": \"joshan.occasions.store\",\n                \"front_route_name\": \"joshan/occasions/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74db-723c-beda-728e9d6b96fa\",\n                \"title\": \"Services, options & price ranges · Add (services.store)\",\n                \"back_route_name\": \"services.store\",\n                \"front_route_name\": \"services/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7390-7038-a0db-f019b796091d\",\n                \"title\": \"Services, options & price ranges · Edit (categories.toggle-active)\",\n                \"back_route_name\": \"categories.toggle-active\",\n                \"front_route_name\": \"categories/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7395-7082-bde4-fa0869b24baa\",\n                \"title\": \"Services, options & price ranges · Edit (categories.update)\",\n                \"back_route_name\": \"categories.update\",\n                \"front_route_name\": \"categories/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7421-72f5-afba-e70c5922d96b\",\n                \"title\": \"Services, options & price ranges · Edit (joshan.config.update)\",\n                \"back_route_name\": \"joshan.config.update\",\n                \"front_route_name\": \"joshan/config/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-742b-7069-8567-2c46c1e51c30\",\n                \"title\": \"Services, options & price ranges · Edit (joshan.occasions.update)\",\n                \"back_route_name\": \"joshan.occasions.update\",\n                \"front_route_name\": \"joshan/occasions/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74de-71b0-a723-357d24ccaf9f\",\n                \"title\": \"Services, options & price ranges · Edit (services.toggle-active)\",\n                \"back_route_name\": \"services.toggle-active\",\n                \"front_route_name\": \"services/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e0-70c7-9a12-06e334fcf0b3\",\n                \"title\": \"Services, options & price ranges · Edit (services.update)\",\n                \"back_route_name\": \"services.update\",\n                \"front_route_name\": \"services/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7387-7076-ab2e-f081ee5cfafc\",\n                \"title\": \"Services, options & price ranges · Delete (categories.destroy)\",\n                \"back_route_name\": \"categories.destroy\",\n                \"front_route_name\": \"categories/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7423-731a-8576-92d2054c8458\",\n                \"title\": \"Services, options & price ranges · Delete (joshan.occasions.destroy)\",\n                \"back_route_name\": \"joshan.occasions.destroy\",\n                \"front_route_name\": \"joshan/occasions/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d4-724a-bc2f-a2953ac9ef01\",\n                \"title\": \"Services, options & price ranges · Delete (services.destroy)\",\n                \"back_route_name\": \"services.destroy\",\n                \"front_route_name\": \"services/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Packages\": [\n            {\n                \"id\": \"01a1bab5-745c-730c-97e1-b9ed0aef27ea\",\n                \"title\": \"Packages · View (packages.index)\",\n                \"back_route_name\": \"packages.index\",\n                \"front_route_name\": \"packages/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7460-7225-8e63-9404a0972bcf\",\n                \"title\": \"Packages · View (packages.show)\",\n                \"back_route_name\": \"packages.show\",\n                \"front_route_name\": \"packages/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7459-73c8-92bc-9443b561a347\",\n                \"title\": \"Packages · Edit (packages.hide)\",\n                \"back_route_name\": \"packages.hide\",\n                \"front_route_name\": \"packages/hide\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7462-737c-817c-3486b7183a4e\",\n                \"title\": \"Packages · Edit (packages.unhide)\",\n                \"back_route_name\": \"packages.unhide\",\n                \"front_route_name\": \"packages/unhide\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7457-73ce-ac12-9a48a1df770d\",\n                \"title\": \"Packages · Approve (packages.approve)\",\n                \"back_route_name\": \"packages.approve\",\n                \"front_route_name\": \"packages/approve\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-745e-7211-9433-ac21e463faca\",\n                \"title\": \"Packages · Approve (packages.reject)\",\n                \"back_route_name\": \"packages.reject\",\n                \"front_route_name\": \"packages/reject\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Orders\": [\n            {\n                \"id\": \"01a1bab5-73b4-7105-a554-966078711e68\",\n                \"title\": \"Orders · View (conversations.index)\",\n                \"back_route_name\": \"conversations.index\",\n                \"front_route_name\": \"conversations/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73b6-7099-a48b-924df9eb9bcd\",\n                \"title\": \"Orders · View (conversations.show)\",\n                \"back_route_name\": \"conversations.show\",\n                \"front_route_name\": \"conversations/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7453-7357-8c63-dc71453b098f\",\n                \"title\": \"Orders · View (orders.index)\",\n                \"back_route_name\": \"orders.index\",\n                \"front_route_name\": \"orders/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7455-725e-aced-3e231934635d\",\n                \"title\": \"Orders · View (orders.show)\",\n                \"back_route_name\": \"orders.show\",\n                \"front_route_name\": \"orders/show\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Transportation monitoring\": [\n            {\n                \"id\": \"01a1bab5-750d-70c4-970d-5231106c5234\",\n                \"title\": \"Transportation monitoring · View (trips.index)\",\n                \"back_route_name\": \"trips.index\",\n                \"front_route_name\": \"trips/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-750f-72d2-ad74-f0e42e685182\",\n                \"title\": \"Transportation monitoring · View (trips.show)\",\n                \"back_route_name\": \"trips.show\",\n                \"front_route_name\": \"trips/show\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Payments & coupons\": [\n            {\n                \"id\": \"01a1bab5-73c6-7241-a9c6-be2f3a40ca23\",\n                \"title\": \"Payments & coupons · View (coupons.index)\",\n                \"back_route_name\": \"coupons.index\",\n                \"front_route_name\": \"coupons/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c7-7296-978f-fe069275cc90\",\n                \"title\": \"Payments & coupons · View (coupons.redemptions)\",\n                \"back_route_name\": \"coupons.redemptions\",\n                \"front_route_name\": \"coupons/redemptions\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c9-7255-907b-575e48b1bf82\",\n                \"title\": \"Payments & coupons · View (coupons.show)\",\n                \"back_route_name\": \"coupons.show\",\n                \"front_route_name\": \"coupons/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-746f-72ec-a31a-6677aeb727d4\",\n                \"title\": \"Payments & coupons · View (payments.index)\",\n                \"back_route_name\": \"payments.index\",\n                \"front_route_name\": \"payments/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7471-71ee-8bb1-b34453a273ae\",\n                \"title\": \"Payments & coupons · View (payments.show)\",\n                \"back_route_name\": \"payments.show\",\n                \"front_route_name\": \"payments/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73cb-7112-ae07-3ac05c1084db\",\n                \"title\": \"Payments & coupons · Add (coupons.store)\",\n                \"back_route_name\": \"coupons.store\",\n                \"front_route_name\": \"coupons/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73cd-7198-ae82-6dc399f0b840\",\n                \"title\": \"Payments & coupons · Edit (coupons.update)\",\n                \"back_route_name\": \"coupons.update\",\n                \"front_route_name\": \"coupons/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73c4-72a0-b7e8-85f48970f2aa\",\n                \"title\": \"Payments & coupons · Delete (coupons.destroy)\",\n                \"back_route_name\": \"coupons.destroy\",\n                \"front_route_name\": \"coupons/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Commissions, amounts due & payouts\": [\n            {\n                \"id\": \"01a1bab5-739f-7290-8738-c4ebca084736\",\n                \"title\": \"Commissions, amounts due & payouts · View (commission-rules.index)\",\n                \"back_route_name\": \"commission-rules.index\",\n                \"front_route_name\": \"commission-rules/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73a1-7282-9c7a-33d9e010379c\",\n                \"title\": \"Commissions, amounts due & payouts · View (commission-rules.show)\",\n                \"back_route_name\": \"commission-rules.show\",\n                \"front_route_name\": \"commission-rules/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7474-7356-b250-7d664e09dedd\",\n                \"title\": \"Commissions, amounts due & payouts · View (payout-balances.index)\",\n                \"back_route_name\": \"payout-balances.index\",\n                \"front_route_name\": \"payout-balances/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-747f-734b-aa21-7e288946f536\",\n                \"title\": \"Commissions, amounts due & payouts · View (payouts.index)\",\n                \"back_route_name\": \"payouts.index\",\n                \"front_route_name\": \"payouts/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7485-71ee-991d-70f2d40628c8\",\n                \"title\": \"Commissions, amounts due & payouts · View (payouts.show)\",\n                \"back_route_name\": \"payouts.show\",\n                \"front_route_name\": \"payouts/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73a3-72ca-84f1-2f8e97ff2724\",\n                \"title\": \"Commissions, amounts due & payouts · Add (commission-rules.store)\",\n                \"back_route_name\": \"commission-rules.store\",\n                \"front_route_name\": \"commission-rules/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73a6-727d-b39a-61528e57c8bb\",\n                \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.toggle-active)\",\n                \"back_route_name\": \"commission-rules.toggle-active\",\n                \"front_route_name\": \"commission-rules/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73a8-739a-af18-6e373c4ab863\",\n                \"title\": \"Commissions, amounts due & payouts · Edit (commission-rules.update)\",\n                \"back_route_name\": \"commission-rules.update\",\n                \"front_route_name\": \"commission-rules/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-739d-7108-9ce3-666f0bbe545c\",\n                \"title\": \"Commissions, amounts due & payouts · Delete (commission-rules.destroy)\",\n                \"back_route_name\": \"commission-rules.destroy\",\n                \"front_route_name\": \"commission-rules/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7477-703a-9ae8-e1c1836547c2\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.bank-account)\",\n                \"back_route_name\": \"payouts.bank-account\",\n                \"front_route_name\": \"payouts/bank-account\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-747a-72bf-a6e5-5afb6f36a8d0\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.cancel)\",\n                \"back_route_name\": \"payouts.cancel\",\n                \"front_route_name\": \"payouts/cancel\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-747c-7097-ba83-d982eb559570\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.fail)\",\n                \"back_route_name\": \"payouts.fail\",\n                \"front_route_name\": \"payouts/fail\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7481-7153-b281-89375ed1bc4f\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.paid)\",\n                \"back_route_name\": \"payouts.paid\",\n                \"front_route_name\": \"payouts/paid\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7483-73be-b14a-88125ab6e254\",\n                \"title\": \"Commissions, amounts due & payouts · Approve (payouts.processing)\",\n                \"back_route_name\": \"payouts.processing\",\n                \"front_route_name\": \"payouts/processing\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Cancellations & refunds\": [\n            {\n                \"id\": \"01a1bab5-7378-737f-b830-9c06d61b92b9\",\n                \"title\": \"Cancellations & refunds · View (cancellation-rules.index)\",\n                \"back_route_name\": \"cancellation-rules.index\",\n                \"front_route_name\": \"cancellation-rules/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-737b-7068-b43d-4fa672026ea8\",\n                \"title\": \"Cancellations & refunds · View (cancellation-rules.show)\",\n                \"back_route_name\": \"cancellation-rules.show\",\n                \"front_route_name\": \"cancellation-rules/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7383-734c-b8c4-ac58f98d1fc7\",\n                \"title\": \"Cancellations & refunds · View (cancellations.index)\",\n                \"back_route_name\": \"cancellations.index\",\n                \"front_route_name\": \"cancellations/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7385-730d-b530-5847efe319dc\",\n                \"title\": \"Cancellations & refunds · View (cancellations.show)\",\n                \"back_route_name\": \"cancellations.show\",\n                \"front_route_name\": \"cancellations/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-749c-7121-a1ce-56fd66141f93\",\n                \"title\": \"Cancellations & refunds · View (refunds.index)\",\n                \"back_route_name\": \"refunds.index\",\n                \"front_route_name\": \"refunds/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-749e-7263-b680-d04d6b075726\",\n                \"title\": \"Cancellations & refunds · View (refunds.show)\",\n                \"back_route_name\": \"refunds.show\",\n                \"front_route_name\": \"refunds/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-737e-7371-b5f3-6e40bc55d41f\",\n                \"title\": \"Cancellations & refunds · Add (cancellation-rules.store)\",\n                \"back_route_name\": \"cancellation-rules.store\",\n                \"front_route_name\": \"cancellation-rules/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74a1-7260-aa05-3c21c658b305\",\n                \"title\": \"Cancellations & refunds · Add (refunds.store)\",\n                \"back_route_name\": \"refunds.store\",\n                \"front_route_name\": \"refunds/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7381-7261-a84a-194065047c95\",\n                \"title\": \"Cancellations & refunds · Edit (cancellation-rules.update)\",\n                \"back_route_name\": \"cancellation-rules.update\",\n                \"front_route_name\": \"cancellation-rules/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7376-72e4-b356-62262474cd32\",\n                \"title\": \"Cancellations & refunds · Delete (cancellation-rules.destroy)\",\n                \"back_route_name\": \"cancellation-rules.destroy\",\n                \"front_route_name\": \"cancellation-rules/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Featured subscriptions\": [\n            {\n                \"id\": \"01a1bab5-7407-714e-aa11-758f2e35bed0\",\n                \"title\": \"Featured subscriptions · View (featured-plans.index)\",\n                \"back_route_name\": \"featured-plans.index\",\n                \"front_route_name\": \"featured-plans/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7409-72db-b498-30632df9ce11\",\n                \"title\": \"Featured subscriptions · View (featured-plans.show)\",\n                \"back_route_name\": \"featured-plans.show\",\n                \"front_route_name\": \"featured-plans/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-740f-725e-b47b-95d6790367ad\",\n                \"title\": \"Featured subscriptions · View (featured-subscriptions.index)\",\n                \"back_route_name\": \"featured-subscriptions.index\",\n                \"front_route_name\": \"featured-subscriptions/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7412-7024-b3bd-065a168b885b\",\n                \"title\": \"Featured subscriptions · View (featured-subscriptions.show)\",\n                \"back_route_name\": \"featured-subscriptions.show\",\n                \"front_route_name\": \"featured-subscriptions/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-740b-7227-b57c-942372da8e8f\",\n                \"title\": \"Featured subscriptions · Add (featured-plans.store)\",\n                \"back_route_name\": \"featured-plans.store\",\n                \"front_route_name\": \"featured-plans/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-740d-7318-bf20-b7b068616803\",\n                \"title\": \"Featured subscriptions · Edit (featured-plans.update)\",\n                \"back_route_name\": \"featured-plans.update\",\n                \"front_route_name\": \"featured-plans/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7405-727a-8d6f-78ddcc10b2d8\",\n                \"title\": \"Featured subscriptions · Delete (featured-plans.destroy)\",\n                \"back_route_name\": \"featured-plans.destroy\",\n                \"front_route_name\": \"featured-plans/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Ratings\": [\n            {\n                \"id\": \"01a1bab5-74c2-72e2-b342-afd3ee4de6aa\",\n                \"title\": \"Ratings · View (reviews.index)\",\n                \"back_route_name\": \"reviews.index\",\n                \"front_route_name\": \"reviews/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74c6-71c1-9a01-7ddf913eb99a\",\n                \"title\": \"Ratings · View (reviews.show)\",\n                \"back_route_name\": \"reviews.show\",\n                \"front_route_name\": \"reviews/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74c0-72a7-8a97-23185dcee9bb\",\n                \"title\": \"Ratings · Edit (reviews.hide)\",\n                \"back_route_name\": \"reviews.hide\",\n                \"front_route_name\": \"reviews/hide\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74c4-724c-b502-23e9d41ab3d8\",\n                \"title\": \"Ratings · Edit (reviews.publish)\",\n                \"back_route_name\": \"reviews.publish\",\n                \"front_route_name\": \"reviews/publish\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Banners & content\": [\n            {\n                \"id\": \"01a1bab5-73f2-70ad-8a02-508e0dc38cfb\",\n                \"title\": \"Banners & content · View (faqs.index)\",\n                \"back_route_name\": \"faqs.index\",\n                \"front_route_name\": \"faqs/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73f4-71c0-9961-f14e855f255e\",\n                \"title\": \"Banners & content · View (faqs.show)\",\n                \"back_route_name\": \"faqs.show\",\n                \"front_route_name\": \"faqs/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-744a-7337-bd1c-95506174f52b\",\n                \"title\": \"Banners & content · View (onboarding-slides.index)\",\n                \"back_route_name\": \"onboarding-slides.index\",\n                \"front_route_name\": \"onboarding-slides/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-744d-71e7-b224-5a62daa74adf\",\n                \"title\": \"Banners & content · View (onboarding-slides.show)\",\n                \"back_route_name\": \"onboarding-slides.show\",\n                \"front_route_name\": \"onboarding-slides/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7467-71db-ae31-522d160f1eb6\",\n                \"title\": \"Banners & content · View (pages.index)\",\n                \"back_route_name\": \"pages.index\",\n                \"front_route_name\": \"pages/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7469-7218-86dd-8fca2715e0d0\",\n                \"title\": \"Banners & content · View (pages.show)\",\n                \"back_route_name\": \"pages.show\",\n                \"front_route_name\": \"pages/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e9-7358-9443-a5ae87d864b8\",\n                \"title\": \"Banners & content · View (sliders.index)\",\n                \"back_route_name\": \"sliders.index\",\n                \"front_route_name\": \"sliders/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74eb-7130-92f8-0d530dd87e0f\",\n                \"title\": \"Banners & content · View (sliders.show)\",\n                \"back_route_name\": \"sliders.show\",\n                \"front_route_name\": \"sliders/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73f6-7111-b43b-30bbb2ffb374\",\n                \"title\": \"Banners & content · Add (faqs.store)\",\n                \"back_route_name\": \"faqs.store\",\n                \"front_route_name\": \"faqs/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-744f-71bd-8bc9-9ce9607ea9bf\",\n                \"title\": \"Banners & content · Add (onboarding-slides.store)\",\n                \"back_route_name\": \"onboarding-slides.store\",\n                \"front_route_name\": \"onboarding-slides/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-746b-724a-98df-340a6653ed8a\",\n                \"title\": \"Banners & content · Add (pages.store)\",\n                \"back_route_name\": \"pages.store\",\n                \"front_route_name\": \"pages/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ed-73c8-a574-74d84b2e3245\",\n                \"title\": \"Banners & content · Add (sliders.store)\",\n                \"back_route_name\": \"sliders.store\",\n                \"front_route_name\": \"sliders/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73f8-732e-8df2-14331543ebce\",\n                \"title\": \"Banners & content · Edit (faqs.update)\",\n                \"back_route_name\": \"faqs.update\",\n                \"front_route_name\": \"faqs/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7451-72cf-bd10-5a47548b6ad0\",\n                \"title\": \"Banners & content · Edit (onboarding-slides.update)\",\n                \"back_route_name\": \"onboarding-slides.update\",\n                \"front_route_name\": \"onboarding-slides/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-746d-70a5-aeb6-89d206917d54\",\n                \"title\": \"Banners & content · Edit (pages.update)\",\n                \"back_route_name\": \"pages.update\",\n                \"front_route_name\": \"pages/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f0-717e-83c5-00e052b0e5ac\",\n                \"title\": \"Banners & content · Edit (sliders.update)\",\n                \"back_route_name\": \"sliders.update\",\n                \"front_route_name\": \"sliders/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73f0-7223-baa0-8f10a85a931b\",\n                \"title\": \"Banners & content · Delete (faqs.destroy)\",\n                \"back_route_name\": \"faqs.destroy\",\n                \"front_route_name\": \"faqs/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7447-73bf-972e-403e2fdead8a\",\n                \"title\": \"Banners & content · Delete (onboarding-slides.destroy)\",\n                \"back_route_name\": \"onboarding-slides.destroy\",\n                \"front_route_name\": \"onboarding-slides/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7464-73ab-9fac-eb973d5a3b78\",\n                \"title\": \"Banners & content · Delete (pages.destroy)\",\n                \"back_route_name\": \"pages.destroy\",\n                \"front_route_name\": \"pages/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e7-7342-a57d-fdbb29cb55dd\",\n                \"title\": \"Banners & content · Delete (sliders.destroy)\",\n                \"back_route_name\": \"sliders.destroy\",\n                \"front_route_name\": \"sliders/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Notifications\": [\n            {\n                \"id\": \"01a1bab5-7432-71a8-bf2a-5f8cd07714b7\",\n                \"title\": \"Notifications · View (notifications.deliveries.index)\",\n                \"back_route_name\": \"notifications.deliveries.index\",\n                \"front_route_name\": \"notifications/deliveries/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7434-7201-affb-447060e540e0\",\n                \"title\": \"Notifications · View (notifications.general.index)\",\n                \"back_route_name\": \"notifications.general.index\",\n                \"front_route_name\": \"notifications/general/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7438-710d-9305-eaa6856eaaf4\",\n                \"title\": \"Notifications · View (notifications.general.show)\",\n                \"back_route_name\": \"notifications.general.show\",\n                \"front_route_name\": \"notifications/general/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-743d-7085-8ea8-7cf48661e650\",\n                \"title\": \"Notifications · View (notifications.index)\",\n                \"back_route_name\": \"notifications.index\",\n                \"front_route_name\": \"notifications/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-743f-73d6-b969-0b71d49eb9fa\",\n                \"title\": \"Notifications · View (notifications.templates.index)\",\n                \"back_route_name\": \"notifications.templates.index\",\n                \"front_route_name\": \"notifications/templates/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7441-731b-b78c-4664433bad34\",\n                \"title\": \"Notifications · View (notifications.templates.show)\",\n                \"back_route_name\": \"notifications.templates.show\",\n                \"front_route_name\": \"notifications/templates/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7436-7293-b5b3-6f5e01e2580a\",\n                \"title\": \"Notifications · Add (notifications.general.retry)\",\n                \"back_route_name\": \"notifications.general.retry\",\n                \"front_route_name\": \"notifications/general/retry\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-743b-72e7-81e6-3bcdd20a7376\",\n                \"title\": \"Notifications · Add (notifications.general.store)\",\n                \"back_route_name\": \"notifications.general.store\",\n                \"front_route_name\": \"notifications/general/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7444-7147-ad1b-b8aa7a9ad148\",\n                \"title\": \"Notifications · Edit (notifications.templates.update)\",\n                \"back_route_name\": \"notifications.templates.update\",\n                \"front_route_name\": \"notifications/templates/edit\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Support & contact requests\": [\n            {\n                \"id\": \"01a1bab5-73ac-7029-a6d5-5c324444fae4\",\n                \"title\": \"Support & contact requests · View (contact-messages.index)\",\n                \"back_route_name\": \"contact-messages.index\",\n                \"front_route_name\": \"contact-messages/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73b1-708e-89b9-42a52283f51c\",\n                \"title\": \"Support & contact requests · View (contact-messages.show)\",\n                \"back_route_name\": \"contact-messages.show\",\n                \"front_route_name\": \"contact-messages/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7503-73c6-b044-5123979fb590\",\n                \"title\": \"Support & contact requests · View (support-tickets.index)\",\n                \"back_route_name\": \"support-tickets.index\",\n                \"front_route_name\": \"support-tickets/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7507-7266-9499-b6aa0ac4fc58\",\n                \"title\": \"Support & contact requests · View (support-tickets.show)\",\n                \"back_route_name\": \"support-tickets.show\",\n                \"front_route_name\": \"support-tickets/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73af-705b-a966-6347c7095c61\",\n                \"title\": \"Support & contact requests · Edit (contact-messages.reply)\",\n                \"back_route_name\": \"contact-messages.reply\",\n                \"front_route_name\": \"contact-messages/reply\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ff-712a-a672-880f3e66bdbb\",\n                \"title\": \"Support & contact requests · Edit (support-tickets.assign)\",\n                \"back_route_name\": \"support-tickets.assign\",\n                \"front_route_name\": \"support-tickets/assign\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7501-72b2-b201-654a65cfd92e\",\n                \"title\": \"Support & contact requests · Edit (support-tickets.close)\",\n                \"back_route_name\": \"support-tickets.close\",\n                \"front_route_name\": \"support-tickets/close\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7505-7196-8e11-de95cdd72265\",\n                \"title\": \"Support & contact requests · Edit (support-tickets.reply)\",\n                \"back_route_name\": \"support-tickets.reply\",\n                \"front_route_name\": \"support-tickets/reply\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-750a-7270-98f7-9eb08b0ce5fc\",\n                \"title\": \"Support & contact requests · Edit (support-tickets.status)\",\n                \"back_route_name\": \"support-tickets.status\",\n                \"front_route_name\": \"support-tickets/status\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73aa-7062-b968-a206e9fea3d3\",\n                \"title\": \"Support & contact requests · Delete (contact-messages.destroy)\",\n                \"back_route_name\": \"contact-messages.destroy\",\n                \"front_route_name\": \"contact-messages/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Reports & statistics\": [\n            {\n                \"id\": \"01a1bab5-74bc-72dd-91c2-5b350f17d282\",\n                \"title\": \"Reports & statistics · View (reports.rankings)\",\n                \"back_route_name\": \"reports.rankings\",\n                \"front_route_name\": \"reports/rankings\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74bd-73ca-9f88-918f6737c2d5\",\n                \"title\": \"Reports & statistics · View (reports.summary)\",\n                \"back_route_name\": \"reports.summary\",\n                \"front_route_name\": \"reports/summary\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Platform settings\": [\n            {\n                \"id\": \"01a1bab5-73fe-7047-ab92-57a905cd2279\",\n                \"title\": \"Platform settings · View (feature-flags.index)\",\n                \"back_route_name\": \"feature-flags.index\",\n                \"front_route_name\": \"feature-flags/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e2-7254-a495-0eb577b83a65\",\n                \"title\": \"Platform settings · View (settings.index)\",\n                \"back_route_name\": \"settings.index\",\n                \"front_route_name\": \"settings/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73fa-70cf-b7f9-bd72dadd3ec6\",\n                \"title\": \"Platform settings · Add (feature-flags.create)\",\n                \"back_route_name\": \"feature-flags.create\",\n                \"front_route_name\": \"feature-flags/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7401-7057-893a-03dfc391c74a\",\n                \"title\": \"Platform settings · Edit (feature-flags.toggle)\",\n                \"back_route_name\": \"feature-flags.toggle\",\n                \"front_route_name\": \"feature-flags/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7403-7189-9ed7-5755dd3be87b\",\n                \"title\": \"Platform settings · Edit (feature-flags.update)\",\n                \"back_route_name\": \"feature-flags.update\",\n                \"front_route_name\": \"feature-flags/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74e4-7298-9eb9-c617fdd7c79f\",\n                \"title\": \"Platform settings · Edit (settings.update)\",\n                \"back_route_name\": \"settings.update\",\n                \"front_route_name\": \"settings/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-73fc-729c-b279-47f6527c0019\",\n                \"title\": \"Platform settings · Delete (feature-flags.delete)\",\n                \"back_route_name\": \"feature-flags.delete\",\n                \"front_route_name\": \"feature-flags/delete\",\n                \"icon\": \"\"\n            }\n        ],\n        \"Administrators & permissions\": [\n            {\n                \"id\": \"01a1bab5-7373-70d6-8462-5158c662072c\",\n                \"title\": \"Administrators & permissions · View (audit-logs.index)\",\n                \"back_route_name\": \"audit-logs.index\",\n                \"front_route_name\": \"audit-logs/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-7488-721e-8967-2a2a8dda9b79\",\n                \"title\": \"Administrators & permissions · View (permissions.index)\",\n                \"back_route_name\": \"permissions.index\",\n                \"front_route_name\": \"permissions/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ca-714f-8df1-39a6a05552d3\",\n                \"title\": \"Administrators & permissions · View (roles.index)\",\n                \"back_route_name\": \"roles.index\",\n                \"front_route_name\": \"roles/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74cc-71d6-8046-8a63ce481380\",\n                \"title\": \"Administrators & permissions · View (roles.show)\",\n                \"back_route_name\": \"roles.show\",\n                \"front_route_name\": \"roles/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f4-70c2-b9f4-b2d781799cf8\",\n                \"title\": \"Administrators & permissions · View (supervisors.index)\",\n                \"back_route_name\": \"supervisors.index\",\n                \"front_route_name\": \"supervisors/show-all\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f6-7268-a904-d4cff462a6b4\",\n                \"title\": \"Administrators & permissions · View (supervisors.show)\",\n                \"back_route_name\": \"supervisors.show\",\n                \"front_route_name\": \"supervisors/show\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74ce-7179-be3b-05a9977357e4\",\n                \"title\": \"Administrators & permissions · Add (roles.store)\",\n                \"back_route_name\": \"roles.store\",\n                \"front_route_name\": \"roles/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f8-7314-9900-38343e3bd6c5\",\n                \"title\": \"Administrators & permissions · Add (supervisors.store)\",\n                \"back_route_name\": \"supervisors.store\",\n                \"front_route_name\": \"supervisors/add\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d0-7045-97d1-54c40a0711c0\",\n                \"title\": \"Administrators & permissions · Edit (roles.toggle-active)\",\n                \"back_route_name\": \"roles.toggle-active\",\n                \"front_route_name\": \"roles/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74d2-715c-8294-ba26157680b3\",\n                \"title\": \"Administrators & permissions · Edit (roles.update)\",\n                \"back_route_name\": \"roles.update\",\n                \"front_route_name\": \"roles/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74fa-738e-8843-34af0fc543c3\",\n                \"title\": \"Administrators & permissions · Edit (supervisors.toggle-active)\",\n                \"back_route_name\": \"supervisors.toggle-active\",\n                \"front_route_name\": \"supervisors/toggle-active\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74fc-732c-8099-6773bd27e170\",\n                \"title\": \"Administrators & permissions · Edit (supervisors.update)\",\n                \"back_route_name\": \"supervisors.update\",\n                \"front_route_name\": \"supervisors/edit\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74c8-712c-9220-7b3f0b9142f9\",\n                \"title\": \"Administrators & permissions · Delete (roles.destroy)\",\n                \"back_route_name\": \"roles.destroy\",\n                \"front_route_name\": \"roles/delete\",\n                \"icon\": \"\"\n            },\n            {\n                \"id\": \"01a1bab5-74f2-70ea-b3b6-28cfe1ec5a30\",\n                \"title\": \"Administrators & permissions · Delete (supervisors.destroy)\",\n                \"back_route_name\": \"supervisors.destroy\",\n                \"front_route_name\": \"supervisors/delete\",\n                \"icon\": \"\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/permissions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "permissions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/permissions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "permissions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/permissions?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "permissions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "permission_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Roles",
                            "item": [
                                {
                                    "name": "Toggle Active",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"role_id\",\"Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/roles/:role/toggle-active",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "roles",
                                                ":role",
                                                "toggle-active"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "role",
                                                    "value": "{{role_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.roles.toggle-active`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{role_id}}` — Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Roles Toggle Active\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Error Last Super Admin — `error_code: LAST_SUPER_ADMIN`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully.\",\n    \"data\": {\n        \"id\": \"01a17207-fdc8-717a-8594-d0309208e07d\",\n        \"name\": \"Sample-pylg17687842\",\n        \"slug\": null,\n        \"parent\": null,\n        \"level\": 0,\n        \"is_active\": false,\n        \"is_system\": false,\n        \"users_count\": 0,\n        \"permissions_count\": 0,\n        \"created_at\": \"2026-10-25T07:48:08+00:00\",\n        \"ar\": {\n            \"name\": \"Sample-csds98907332\"\n        },\n        \"en\": {\n            \"name\": \"Sample-pylg17687842\"\n        },\n        \"permissions\": [],\n        \"sections\": [],\n        \"updated_at\": \"2026-10-25T07:48:08+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Roles Toggle Active",
                                            "_joshen": {
                                                "route": "admin.roles.toggle-active",
                                                "name": "Roles Toggle Active",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a17207-fdc8-717a-8594-d0309208e07d/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RoleControllerTest::test_ac_admin_024_toggle_active_and_system_role_lock"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a17207-fdc8-717a-8594-d0309208e07d/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a17207-fdc8-717a-8594-d0309208e07d",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully.\",\n    \"data\": {\n        \"id\": \"01a17207-fdc8-717a-8594-d0309208e07d\",\n        \"name\": \"Sample-pylg17687842\",\n        \"slug\": null,\n        \"parent\": null,\n        \"level\": 0,\n        \"is_active\": false,\n        \"is_system\": false,\n        \"users_count\": 0,\n        \"permissions_count\": 0,\n        \"created_at\": \"2026-10-25T07:48:08+00:00\",\n        \"ar\": {\n            \"name\": \"Sample-csds98907332\"\n        },\n        \"en\": {\n            \"name\": \"Sample-pylg17687842\"\n        },\n        \"permissions\": [],\n        \"sections\": [],\n        \"updated_at\": \"2026-10-25T07:48:08+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Error Last Super Admin",
                                            "_joshen": {
                                                "route": "admin.roles.toggle-active",
                                                "name": "Error Last Super Admin",
                                                "code": 409,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a17208-04a9-71ea-8495-bdaee292b6a4/toggle-active",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RoleControllerTest::test_ac_admin_024_cannot_deactivate_the_last_super_admins_role"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a17208-04a9-71ea-8495-bdaee292b6a4/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a17208-04a9-71ea-8495-bdaee292b6a4",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"At least one active super admin must remain.\",\n    \"data\": {\n        \"error_code\": \"LAST_SUPER_ADMIN\",\n        \"correlation_id\": \"75d7553a-0633-4765-b403-a76a687b0bae\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "role_id",
                                                "set_by": [
                                                    "admin.roles.index",
                                                    "admin.roles.store",
                                                    "admin.roles.show",
                                                    "admin.roles.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"role_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/roles?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "roles"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[parent_id]",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "Filter by parent role uuid",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.roles.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status (optional)\n- `filters[parent_id]` — Filter by parent role uuid (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `role_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Roles Index\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"roles\": [\n            {\n                \"id\": \"01a17207-ff41-7284-9f75-f2254e815967\",\n                \"name\": \"Sample-uoru57592238\",\n                \"slug\": null,\n                \"parent\": null,\n                \"level\": 0,\n                \"is_active\": true,\n                \"is_system\": false,\n                \"users_count\": 1,\n                \"permissions_count\": 1,\n                \"created_at\": \"2026-10-25T07:48:09+00:00\"\n            },\n            {\n                \"id\": \"01a17207-ff49-72c4-8201-b36ffbb132df\",\n                \"name\": \"Sample-iyet91489711\",\n                \"slug\": null,\n                \"parent\": {\n                    \"id\": \"01a17207-ff41-7284-9f75-f2254e815967\",\n                    \"name\": \"Sample-uoru57592238\"\n                },\n                \"level\": 1,\n                \"is_active\": true,\n                \"is_system\": false,\n                \"users_count\": 0,\n                \"permissions_count\": 0,\n                \"created_at\": \"2026-10-25T07:48:09+00:00\"\n            },\n            {\n                \"id\": \"01a17207-ff4f-7329-9e97-d5ab85409c4c\",\n                \"name\": \"Sample-sobg65318128\",\n                \"slug\": null,\n                \"parent\": null,\n                \"level\": 0,\n                \"is_active\": false,\n                \"is_system\": false,\n                \"users_count\": 0,\n                \"permissions_count\": 0,\n                \"created_at\": \"2026-10-25T07:48:09+00:00\"\n            },\n            {\n                \"id\": \"01a17207-ff59-735f-8f39-1ab0bb3b7c44\",\n                \"name\": \"Sample-kbqc05607788\",\n                \"slug\": null,\n                \"parent\": null,\n                \"level\": 0,\n                \"is_active\": true,\n                \"is_system\": false,\n                \"users_count\": 0,\n                \"permissions_count\": 0,\n                \"created_at\": \"2026-10-25T07:48:09+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/roles?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/roles?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/roles?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/roles\",\n            \"per_page\": 50,\n            \"to\": 4,\n            \"total\": 4\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Roles Index",
                                            "_joshen": {
                                                "route": "admin.roles.index",
                                                "name": "Roles Index",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles",
                                                    "query": {
                                                        "per_page": 50
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RoleControllerTest::test_ac_admin_024_index_filters_and_counts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles?per_page=50",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "50"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"roles\": [\n            {\n                \"id\": \"01a17207-ff41-7284-9f75-f2254e815967\",\n                \"name\": \"Sample-uoru57592238\",\n                \"slug\": null,\n                \"parent\": null,\n                \"level\": 0,\n                \"is_active\": true,\n                \"is_system\": false,\n                \"users_count\": 1,\n                \"permissions_count\": 1,\n                \"created_at\": \"2026-10-25T07:48:09+00:00\"\n            },\n            {\n                \"id\": \"01a17207-ff49-72c4-8201-b36ffbb132df\",\n                \"name\": \"Sample-iyet91489711\",\n                \"slug\": null,\n                \"parent\": {\n                    \"id\": \"01a17207-ff41-7284-9f75-f2254e815967\",\n                    \"name\": \"Sample-uoru57592238\"\n                },\n                \"level\": 1,\n                \"is_active\": true,\n                \"is_system\": false,\n                \"users_count\": 0,\n                \"permissions_count\": 0,\n                \"created_at\": \"2026-10-25T07:48:09+00:00\"\n            },\n            {\n                \"id\": \"01a17207-ff4f-7329-9e97-d5ab85409c4c\",\n                \"name\": \"Sample-sobg65318128\",\n                \"slug\": null,\n                \"parent\": null,\n                \"level\": 0,\n                \"is_active\": false,\n                \"is_system\": false,\n                \"users_count\": 0,\n                \"permissions_count\": 0,\n                \"created_at\": \"2026-10-25T07:48:09+00:00\"\n            },\n            {\n                \"id\": \"01a17207-ff59-735f-8f39-1ab0bb3b7c44\",\n                \"name\": \"Sample-kbqc05607788\",\n                \"slug\": null,\n                \"parent\": null,\n                \"level\": 0,\n                \"is_active\": true,\n                \"is_system\": false,\n                \"users_count\": 0,\n                \"permissions_count\": 0,\n                \"created_at\": \"2026-10-25T07:48:09+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/roles?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/roles?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/roles?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/roles\",\n            \"per_page\": 50,\n            \"to\": 4,\n            \"total\": 4\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[parent_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Filter by parent role uuid",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[parent_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Filter by parent role uuid",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[parent_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Filter by parent role uuid",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "role_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"role_id\",\"Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\"],[\"permission_id\",\"Saved by GET /api/v1/admin/permissions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"role_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/roles",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "roles"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.roles.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"name\":\"مشرف الطلبات\"}`\n- **Validation rules:** `required|array`\n- `required` — must be provided.\n- `array` — must be an array.\n### `ar.name`\n- **Description:** Arabic role name, unique among roles in Arabic.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `مشرف الطلبات`\n- **Validation rules:** `required|string|max:255|unique:role_translations,name,NULL,role_id,locale,\"ar\"`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n- `unique:role_translations,name,NULL,role_id,locale,\"ar\"` — must be unique (role_translations, name, NULL, role_id, locale, \"ar\").\n### `en`\n- **Description:** Optional English text; send the name with it.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Orders Officer\"}`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `en.name`\n- **Description:** English role name, unique among roles in English.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Orders Officer`\n- **Validation rules:** `required_with:en|string|max:255|unique:role_translations,name,NULL,role_id,locale,\"en\"`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n- `unique:role_translations,name,NULL,role_id,locale,\"en\"` — must be unique (role_translations, name, NULL, role_id, locale, \"en\").\n### `slug`\n- **Description:** Machine key; derived from the name when empty.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `orders-officer`\n- **Validation rules:** `sometimes|nullable|string|alpha_dash|max:50|unique:roles,slug,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `alpha_dash` — custom validation rule.\n- `max:50` — must not exceed 50.\n- `unique:roles,slug,NULL,id` — must be unique (roles, slug, NULL, id).\n### `parent_id`\n- **Description:** Role (uuid) this role sits under in the hierarchy; it sets the role level (ADMIN-024).\n- **Type:** `string (uuid)`\n- **Refers to:** a `roles` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{role_id}}`\n- **Validation rules:** `sometimes|nullable|uuid|exists:roles,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:roles,uuid` — must reference an existing record (roles, uuid).\n### `is_active`\n- **Description:** Inactive roles cannot be assigned to supervisors; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `permissions`\n- **Description:** Permission uuids (from `GET /permissions`) granted to the role, added to those of `sections`.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{permission_id}}\"]`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `permissions.*`\n- **Description:** One permission uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `permissions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{permission_id}}`\n- **Validation rules:** `distinct|uuid|exists:permissions,uuid`\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:permissions,uuid` — must reference an existing record (permissions, uuid).\n### `sections`\n- **Description:** Matrix cells granted by section and action, as an alternative to listing permission uuids.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[{\"key\":\"support\",\"actions\":[\"view\",\"update\"]}]`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `sections.*.key`\n- **Description:** Section key from the permission catalog, for example `support` (TD-27).\n- **Type:** `string (enum)`\n- **Allowed values:** `dashboard`, `customers`, `providers`, `drivers`, `registration_review`, `service_areas`, `services`, `packages`, `orders`, `transportation`, `payments`, `payouts`, `cancellations_refunds`, `featured_subscriptions`, `ratings`, `banners_content`, `notifications`, `support`, `reports`, `settings`, `administrators`\n- **Required:** required\n- **Example:** `support`\n- **Validation rules:** `required|string|distinct|in:\"dashboard\",\"customers\",\"providers\",\"drivers\",\"registration_review\",\"service_areas\",\"services\",\"packages\",\"orders\",\"transportation\",\"payments\",\"payouts\",\"cancellations_refunds\",\"featured_subscriptions\",\"ratings\",\"banners_content\",\"notifications\",\"support\",\"reports\",\"settings\",\"administrators\"`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `in:\"dashboard\",\"customers\",\"providers\",\"drivers\",\"registration_review\",\"service_areas\",\"services\",\"packages\",\"orders\",\"transportation\",\"payments\",\"payouts\",\"cancellations_refunds\",\"featured_subscriptions\",\"ratings\",\"banners_content\",\"notifications\",\"support\",\"reports\",\"settings\",\"administrators\"` — must be one of: \"dashboard\", \"customers\", \"providers\", \"drivers\", \"registration_review\", \"service_areas\", \"services\", \"packages\", \"orders\", \"transportation\", \"payments\", \"payouts\", \"cancellations_refunds\", \"featured_subscriptions\", \"ratings\", \"banners_content\", \"notifications\", \"support\", \"reports\", \"settings\", \"administrators\".\n### `sections.*.actions`\n- **Description:** Actions granted in that section: view, create, update, delete, approve.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[\"view\",\"update\"]`\n- **Validation rules:** `required|array|min:1`\n- `required` — must be provided.\n- `array` — must be an array.\n- `min:1` — must be at least 1.\n### `sections.*.actions.*`\n- **Description:** One action name.\n- **Type:** `string (enum)`\n- **Allowed values:** `view`, `create`, `update`, `delete`, `approve`\n- **Required:** optional\n- **Example:** `view`\n- **Validation rules:** `string|distinct|in:\"view\",\"create\",\"update\",\"delete\",\"approve\"`\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `in:\"view\",\"create\",\"update\",\"delete\",\"approve\"` — must be one of: \"view\", \"create\", \"update\", \"delete\", \"approve\".\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{role_id}}` — Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\n- Uses `{{permission_id}}` — Saved by GET /api/v1/admin/permissions.\n- Saves `role_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Roles Store\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Error Privilege Escalation — `error_code: PRIVILEGE_ESCALATION`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Roles Store Missing Name\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-f1c2-7091-a632-08b8553c6b6e\",\n        \"name\": \"Orders Officer\",\n        \"slug\": \"orders-officer\",\n        \"parent\": {\n            \"id\": \"01a17207-f1a3-73dd-bd92-7b6a30caa09a\",\n            \"name\": \"Sample-vgcz09090927\"\n        },\n        \"level\": 1,\n        \"is_active\": true,\n        \"is_system\": false,\n        \"users_count\": 0,\n        \"permissions_count\": 4,\n        \"created_at\": \"2026-10-25T07:48:05+00:00\",\n        \"ar\": {\n            \"name\": \"مشرف الطلبات\"\n        },\n        \"en\": {\n            \"name\": \"Orders Officer\"\n        },\n        \"permissions\": [\n            \"01a17207-f0a7-73e0-a8c6-9f446679babc\",\n            \"01a17207-f0a9-7185-b48b-76b92d419358\",\n            \"01a17207-f0ab-7268-98b1-95e2cca0e6cc\",\n            \"01a17207-f0b9-7174-af3d-6f0a1ce75de7\"\n        ],\n        \"sections\": [\n            {\n                \"key\": \"dashboard\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"support\",\n                \"actions\": [\n                    \"view\",\n                    \"update\"\n                ]\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:48:05+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"slug\": \"orders-officer\",\n    \"parent_id\": \"{{role_id}}\",\n    \"is_active\": true,\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Roles Store",
                                            "_joshen": {
                                                "route": "admin.roles.store",
                                                "name": "Roles Store",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "مشرف الطلبات"
                                                        },
                                                        "en": {
                                                            "name": "Orders Officer"
                                                        },
                                                        "parent_id": "01a17207-f1a3-73dd-bd92-7b6a30caa09a",
                                                        "permissions": [
                                                            "01a17207-f0b9-7174-af3d-6f0a1ce75de7"
                                                        ],
                                                        "sections": [
                                                            {
                                                                "key": "support",
                                                                "actions": [
                                                                    "view",
                                                                    "update"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RoleControllerTest::test_ac_admin_024_store_and_show_role_with_translations_and_matrix"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"parent_id\": \"01a17207-f1a3-73dd-bd92-7b6a30caa09a\",\n    \"permissions\": [\n        \"01a17207-f0b9-7174-af3d-6f0a1ce75de7\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-f1c2-7091-a632-08b8553c6b6e\",\n        \"name\": \"Orders Officer\",\n        \"slug\": \"orders-officer\",\n        \"parent\": {\n            \"id\": \"01a17207-f1a3-73dd-bd92-7b6a30caa09a\",\n            \"name\": \"Sample-vgcz09090927\"\n        },\n        \"level\": 1,\n        \"is_active\": true,\n        \"is_system\": false,\n        \"users_count\": 0,\n        \"permissions_count\": 4,\n        \"created_at\": \"2026-10-25T07:48:05+00:00\",\n        \"ar\": {\n            \"name\": \"مشرف الطلبات\"\n        },\n        \"en\": {\n            \"name\": \"Orders Officer\"\n        },\n        \"permissions\": [\n            \"01a17207-f0a7-73e0-a8c6-9f446679babc\",\n            \"01a17207-f0a9-7185-b48b-76b92d419358\",\n            \"01a17207-f0ab-7268-98b1-95e2cca0e6cc\",\n            \"01a17207-f0b9-7174-af3d-6f0a1ce75de7\"\n        ],\n        \"sections\": [\n            {\n                \"key\": \"dashboard\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"support\",\n                \"actions\": [\n                    \"view\",\n                    \"update\"\n                ]\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:48:05+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"slug\": \"orders-officer\",\n    \"parent_id\": \"{{role_id}}\",\n    \"is_active\": true,\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Error Privilege Escalation",
                                            "_joshen": {
                                                "route": "admin.roles.store",
                                                "name": "Error Privilege Escalation",
                                                "code": 403,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "تصعيد"
                                                        },
                                                        "sections": [
                                                            {
                                                                "key": "settings",
                                                                "actions": [
                                                                    "view"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RoleControllerTest::test_ac_admin_024_supervisor_cannot_grant_permissions_she_lacks"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"تصعيد\"\n    },\n    \"sections\": [\n        {\n            \"key\": \"settings\",\n            \"actions\": [\n                \"view\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You cannot grant or manage permissions you do not hold.\",\n    \"data\": {\n        \"error_code\": \"PRIVILEGE_ESCALATION\",\n        \"correlation_id\": \"063c8572-4bdd-4e10-83c4-8ba7ed85e516\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"slug\": \"orders-officer\",\n    \"parent_id\": \"{{role_id}}\",\n    \"is_active\": true,\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"slug\": \"orders-officer\",\n    \"parent_id\": \"{{role_id}}\",\n    \"is_active\": true,\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Roles Store Missing Name",
                                            "_joshen": {
                                                "route": "admin.roles.store",
                                                "name": "Roles Store Missing Name",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_role_update_validation_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Arabic data field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"ar\": [\n                \"The Arabic data field is required.\"\n            ],\n            \"ar.name\": [\n                \"The Name (ar) field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "role_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "role_id",
                                                "set_by": [
                                                    "admin.roles.index",
                                                    "admin.roles.store",
                                                    "admin.roles.show",
                                                    "admin.roles.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                            },
                                            {
                                                "name": "permission_id",
                                                "set_by": [
                                                    "admin.permissions.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/permissions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"role_id\",\"Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"role_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "roles",
                                                ":role"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "role",
                                                    "value": "{{role_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.roles.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{role_id}}` — Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `role_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Roles Show\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-f1c2-7091-a632-08b8553c6b6e\",\n        \"name\": \"Orders Officer\",\n        \"slug\": \"orders-officer\",\n        \"parent\": {\n            \"id\": \"01a17207-f1a3-73dd-bd92-7b6a30caa09a\",\n            \"name\": \"Sample-vgcz09090927\"\n        },\n        \"level\": 1,\n        \"is_active\": true,\n        \"is_system\": false,\n        \"users_count\": 0,\n        \"permissions_count\": 4,\n        \"created_at\": \"2026-10-25T07:48:05+00:00\",\n        \"ar\": {\n            \"name\": \"مشرف الطلبات\"\n        },\n        \"en\": {\n            \"name\": \"Orders Officer\"\n        },\n        \"permissions\": [\n            \"01a17207-f0a7-73e0-a8c6-9f446679babc\",\n            \"01a17207-f0a9-7185-b48b-76b92d419358\",\n            \"01a17207-f0ab-7268-98b1-95e2cca0e6cc\",\n            \"01a17207-f0b9-7174-af3d-6f0a1ce75de7\"\n        ],\n        \"sections\": [\n            {\n                \"key\": \"dashboard\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"support\",\n                \"actions\": [\n                    \"view\",\n                    \"update\"\n                ]\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:48:05+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Roles Show",
                                            "_joshen": {
                                                "route": "admin.roles.show",
                                                "name": "Roles Show",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a17207-f1c2-7091-a632-08b8553c6b6e",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RoleControllerTest::test_ac_admin_024_store_and_show_role_with_translations_and_matrix"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a17207-f1c2-7091-a632-08b8553c6b6e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a17207-f1c2-7091-a632-08b8553c6b6e"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17207-f1c2-7091-a632-08b8553c6b6e\",\n        \"name\": \"Orders Officer\",\n        \"slug\": \"orders-officer\",\n        \"parent\": {\n            \"id\": \"01a17207-f1a3-73dd-bd92-7b6a30caa09a\",\n            \"name\": \"Sample-vgcz09090927\"\n        },\n        \"level\": 1,\n        \"is_active\": true,\n        \"is_system\": false,\n        \"users_count\": 0,\n        \"permissions_count\": 4,\n        \"created_at\": \"2026-10-25T07:48:05+00:00\",\n        \"ar\": {\n            \"name\": \"مشرف الطلبات\"\n        },\n        \"en\": {\n            \"name\": \"Orders Officer\"\n        },\n        \"permissions\": [\n            \"01a17207-f0a7-73e0-a8c6-9f446679babc\",\n            \"01a17207-f0a9-7185-b48b-76b92d419358\",\n            \"01a17207-f0ab-7268-98b1-95e2cca0e6cc\",\n            \"01a17207-f0b9-7174-af3d-6f0a1ce75de7\"\n        ],\n        \"sections\": [\n            {\n                \"key\": \"dashboard\",\n                \"actions\": [\n                    \"view\"\n                ]\n            },\n            {\n                \"key\": \"support\",\n                \"actions\": [\n                    \"view\",\n                    \"update\"\n                ]\n            }\n        ],\n        \"updated_at\": \"2026-10-25T07:48:05+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "role_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "role_id",
                                                "set_by": [
                                                    "admin.roles.index",
                                                    "admin.roles.store",
                                                    "admin.roles.show",
                                                    "admin.roles.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"role_id\",\"Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"permission_id\",\"Saved by GET /api/v1/admin/permissions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"role_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "roles",
                                                ":role"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "role",
                                                    "value": "{{role_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.roles.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `ar`\n- **Description:** Arabic text (required, TD-12).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"مشرف الطلبات\"}`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `ar.name`\n- **Description:** Arabic role name, unique among roles in Arabic.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `مشرف الطلبات`\n- **Validation rules:** `sometimes|string|max:255|unique:role_translations,name,NULL,role_id,locale,\"ar\"`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n- `unique:role_translations,name,NULL,role_id,locale,\"ar\"` — must be unique (role_translations, name, NULL, role_id, locale, \"ar\").\n### `en`\n- **Description:** Optional English text; send the name with it.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"name\":\"Orders Officer\"}`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `en.name`\n- **Description:** English role name, unique among roles in English.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Orders Officer`\n- **Validation rules:** `required_with:en|string|max:255|unique:role_translations,name,NULL,role_id,locale,\"en\"`\n- `required_with:en` — required when en is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n- `unique:role_translations,name,NULL,role_id,locale,\"en\"` — must be unique (role_translations, name, NULL, role_id, locale, \"en\").\n### `slug`\n- **Description:** Machine key; derived from the name when empty.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `orders-officer`\n- **Validation rules:** `sometimes|nullable|string|alpha_dash|max:50|unique:roles,slug,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `alpha_dash` — custom validation rule.\n- `max:50` — must not exceed 50.\n- `unique:roles,slug,NULL,id` — must be unique (roles, slug, NULL, id).\n### `parent_id`\n- **Description:** Role (uuid) this role sits under in the hierarchy; it sets the role level (ADMIN-024).\n- **Type:** `string (uuid)`\n- **Refers to:** a `roles` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{role_id}}`\n- **Validation rules:** `sometimes|nullable|uuid|exists:roles,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:roles,uuid` — must reference an existing record (roles, uuid).\n### `is_active`\n- **Description:** Inactive roles cannot be assigned to supervisors; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `permissions`\n- **Description:** Permission uuids (from `GET /permissions`) granted to the role, added to those of `sections`.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{permission_id}}\"]`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `permissions.*`\n- **Description:** One permission uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `permissions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{permission_id}}`\n- **Validation rules:** `distinct|uuid|exists:permissions,uuid`\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:permissions,uuid` — must reference an existing record (permissions, uuid).\n### `sections`\n- **Description:** Matrix cells granted by section and action, as an alternative to listing permission uuids.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[{\"key\":\"support\",\"actions\":[\"view\",\"update\"]}]`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `sections.*.key`\n- **Description:** Section key from the permission catalog, for example `support` (TD-27).\n- **Type:** `string (enum)`\n- **Allowed values:** `dashboard`, `customers`, `providers`, `drivers`, `registration_review`, `service_areas`, `services`, `packages`, `orders`, `transportation`, `payments`, `payouts`, `cancellations_refunds`, `featured_subscriptions`, `ratings`, `banners_content`, `notifications`, `support`, `reports`, `settings`, `administrators`\n- **Required:** optional\n- **Example:** `support`\n- **Validation rules:** `sometimes|string|distinct|in:\"dashboard\",\"customers\",\"providers\",\"drivers\",\"registration_review\",\"service_areas\",\"services\",\"packages\",\"orders\",\"transportation\",\"payments\",\"payouts\",\"cancellations_refunds\",\"featured_subscriptions\",\"ratings\",\"banners_content\",\"notifications\",\"support\",\"reports\",\"settings\",\"administrators\"`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `in:\"dashboard\",\"customers\",\"providers\",\"drivers\",\"registration_review\",\"service_areas\",\"services\",\"packages\",\"orders\",\"transportation\",\"payments\",\"payouts\",\"cancellations_refunds\",\"featured_subscriptions\",\"ratings\",\"banners_content\",\"notifications\",\"support\",\"reports\",\"settings\",\"administrators\"` — must be one of: \"dashboard\", \"customers\", \"providers\", \"drivers\", \"registration_review\", \"service_areas\", \"services\", \"packages\", \"orders\", \"transportation\", \"payments\", \"payouts\", \"cancellations_refunds\", \"featured_subscriptions\", \"ratings\", \"banners_content\", \"notifications\", \"support\", \"reports\", \"settings\", \"administrators\".\n### `sections.*.actions`\n- **Description:** Actions granted in that section: view, create, update, delete, approve.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"view\",\"update\"]`\n- **Validation rules:** `sometimes|array|min:1`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `min:1` — must be at least 1.\n### `sections.*.actions.*`\n- **Description:** One action name.\n- **Type:** `string (enum)`\n- **Allowed values:** `view`, `create`, `update`, `delete`, `approve`\n- **Required:** optional\n- **Example:** `view`\n- **Validation rules:** `string|distinct|in:\"view\",\"create\",\"update\",\"delete\",\"approve\"`\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `in:\"view\",\"create\",\"update\",\"delete\",\"approve\"` — must be one of: \"view\", \"create\", \"update\", \"delete\", \"approve\".\n\n**Variables:**\n- Uses `{{role_id}}` — Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{permission_id}}` — Saved by GET /api/v1/admin/permissions.\n- Saves `role_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Roles Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Error Permission Denied — `error_code: PERMISSION_DENIED`\n- `403` Error Self Modification — `error_code: SELF_MODIFICATION_FORBIDDEN`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Roles Update Unknown Section\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-335c-7377-88f9-cbdb5e97c1bd\",\n        \"name\": \"Dashboard Viewer\",\n        \"slug\": null,\n        \"parent\": null,\n        \"level\": 0,\n        \"is_active\": false,\n        \"is_system\": false,\n        \"users_count\": 0,\n        \"permissions_count\": 1,\n        \"created_at\": \"2026-11-08T10:36:32+00:00\",\n        \"ar\": {\n            \"name\": \"Sample-irap97822802\"\n        },\n        \"en\": {\n            \"name\": \"Dashboard Viewer\"\n        },\n        \"permissions\": [\n            \"01a1babb-31bf-7285-9e90-f5b7ddee73d7\"\n        ],\n        \"sections\": [\n            {\n                \"key\": \"dashboard\",\n                \"actions\": [\n                    \"view\"\n                ]\n            }\n        ],\n        \"updated_at\": \"2026-11-08T10:36:33+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"slug\": \"orders-officer\",\n    \"parent_id\": \"{{role_id}}\",\n    \"is_active\": true,\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Roles Updated",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Roles Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a1babb-335c-7377-88f9-cbdb5e97c1bd",
                                                    "query": null,
                                                    "body": {
                                                        "en": {
                                                            "name": "Dashboard Viewer"
                                                        },
                                                        "is_active": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_role_update_validation_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a1babb-335c-7377-88f9-cbdb5e97c1bd",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a1babb-335c-7377-88f9-cbdb5e97c1bd"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"en\": {\n        \"name\": \"Dashboard Viewer\"\n    },\n    \"is_active\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-335c-7377-88f9-cbdb5e97c1bd\",\n        \"name\": \"Dashboard Viewer\",\n        \"slug\": null,\n        \"parent\": null,\n        \"level\": 0,\n        \"is_active\": false,\n        \"is_system\": false,\n        \"users_count\": 0,\n        \"permissions_count\": 1,\n        \"created_at\": \"2026-11-08T10:36:32+00:00\",\n        \"ar\": {\n            \"name\": \"Sample-irap97822802\"\n        },\n        \"en\": {\n            \"name\": \"Dashboard Viewer\"\n        },\n        \"permissions\": [\n            \"01a1babb-31bf-7285-9e90-f5b7ddee73d7\"\n        ],\n        \"sections\": [\n            {\n                \"key\": \"dashboard\",\n                \"actions\": [\n                    \"view\"\n                ]\n            }\n        ],\n        \"updated_at\": \"2026-11-08T10:36:33+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"slug\": \"orders-officer\",\n    \"parent_id\": \"{{role_id}}\",\n    \"is_active\": true,\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Error Permission Denied",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Error Permission Denied",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a19bed-68b4-70dc-8fc6-3494da6fe752"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"محاولة\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Error Self Modification",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Error Self Modification",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a17208-035b-72e9-bdf9-45f63821ea16",
                                                    "query": null,
                                                    "body": {
                                                        "permissions": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RoleControllerTest::test_ac_admin_024_supervisor_cannot_modify_her_own_role"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a17208-035b-72e9-bdf9-45f63821ea16",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a17208-035b-72e9-bdf9-45f63821ea16"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"permissions\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You cannot change your own account or role here.\",\n    \"data\": {\n        \"error_code\": \"SELF_MODIFICATION_FORBIDDEN\",\n        \"correlation_id\": \"67e7d6b2-6dc0-4eff-a47b-3a1e36b6b7d0\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"slug\": \"orders-officer\",\n    \"parent_id\": \"{{role_id}}\",\n    \"is_active\": true,\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"ar\": {\n        \"name\": \"مشرف الطلبات\"\n    },\n    \"en\": {\n        \"name\": \"Orders Officer\"\n    },\n    \"slug\": \"orders-officer\",\n    \"parent_id\": \"{{role_id}}\",\n    \"is_active\": true,\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"sections\": [\n        {\n            \"key\": \"support\",\n            \"actions\": [\n                \"view\",\n                \"update\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Roles Update Unknown Section",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Roles Update Unknown Section",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a1babb-335c-7377-88f9-cbdb5e97c1bd",
                                                    "query": null,
                                                    "body": {
                                                        "sections": [
                                                            {
                                                                "key": "nope",
                                                                "actions": [
                                                                    "view"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_role_update_validation_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a1babb-335c-7377-88f9-cbdb5e97c1bd",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a1babb-335c-7377-88f9-cbdb5e97c1bd"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"sections\": [\n        {\n            \"key\": \"nope\",\n            \"actions\": [\n                \"view\"\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected section is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"sections.0.key\": [\n                \"The selected section is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "role_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "role_id",
                                                "set_by": [
                                                    "admin.roles.index",
                                                    "admin.roles.store",
                                                    "admin.roles.show",
                                                    "admin.roles.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "permission_id",
                                                "set_by": [
                                                    "admin.permissions.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/permissions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"role_id\",\"Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "roles",
                                                ":role"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "role",
                                                    "value": "{{role_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.roles.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{role_id}}` — Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Roles Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Error Role In Use — `error_code: ROLE_IN_USE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Roles Deleted",
                                            "_joshen": {
                                                "route": "admin.roles.destroy",
                                                "name": "Roles Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a1babb-33c3-73b8-b587-6014e69681f8",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_role_update_validation_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a1babb-33c3-73b8-b587-6014e69681f8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a1babb-33c3-73b8-b587-6014e69681f8"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/:role",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        ":role"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "role",
                                                            "value": "{{role_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Error Role In Use",
                                            "_joshen": {
                                                "route": "admin.roles.destroy",
                                                "name": "Error Role In Use",
                                                "code": 409,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a17207-fc7c-7038-883d-cbf382140490",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RoleControllerTest::test_ac_admin_024_delete_refuses_role_in_use"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/roles/01a17207-fc7c-7038-883d-cbf382140490",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "roles",
                                                        "01a17207-fc7c-7038-883d-cbf382140490"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This role is assigned to administrators or has child roles.\",\n    \"data\": {\n        \"error_code\": \"ROLE_IN_USE\",\n        \"correlation_id\": \"0dea6780-a47c-48a4-a751-da1b171d08c9\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "role_id",
                                                "set_by": [
                                                    "admin.roles.index",
                                                    "admin.roles.store",
                                                    "admin.roles.show",
                                                    "admin.roles.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Supervisors",
                            "item": [
                                {
                                    "name": "Toggle Active",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"supervisor_id\",\"Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor/toggle-active",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "supervisors",
                                                ":supervisor",
                                                "toggle-active"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "supervisor",
                                                    "value": "{{supervisor_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.supervisors.toggle-active`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Optional note (up to 500 characters) recorded in the audit log when blocking or reactivating the supervisor.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Left the company`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{supervisor_id}}` — Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Supervisors Toggle Active\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Supervisors Toggle Reason Too Long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully.\",\n    \"data\": {\n        \"id\": \"01a19bed-439a-734b-b908-888470e43699\",\n        \"full_name\": \"Heidi Pacocha\",\n        \"email\": \"murazik.althea@example.org\",\n        \"phone_code\": \"966\",\n        \"phone\": \"569598756\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"status\": {\n            \"value\": \"inactive\",\n            \"label\": \"Inactive\"\n        },\n        \"role\": {\n            \"id\": \"01a19bed-4391-738e-94f1-1bd63b8c33f4\",\n            \"name\": \"Sample-begm76383774\"\n        },\n        \"last_login_at\": null,\n        \"created_at\": \"2026-11-02T11:03:00+00:00\",\n        \"direct_permissions\": [],\n        \"effective_permissions\": [\n            \"admin.dashboard.index\"\n        ],\n        \"updated_at\": \"2026-11-02T11:03:00+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"Left the company\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Supervisors Toggle Active",
                                            "_joshen": {
                                                "route": "admin.supervisors.toggle-active",
                                                "name": "Supervisors Toggle Active",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors/01a19bed-439a-734b-b908-888470e43699/toggle-active",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Left the team"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupervisorControllerTest::test_ac_admin_024_disabled_supervisor_loses_access_on_next_request"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/01a19bed-439a-734b-b908-888470e43699/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        "01a19bed-439a-734b-b908-888470e43699",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Left the team\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Status updated successfully.\",\n    \"data\": {\n        \"id\": \"01a19bed-439a-734b-b908-888470e43699\",\n        \"full_name\": \"Heidi Pacocha\",\n        \"email\": \"murazik.althea@example.org\",\n        \"phone_code\": \"966\",\n        \"phone\": \"569598756\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"status\": {\n            \"value\": \"inactive\",\n            \"label\": \"Inactive\"\n        },\n        \"role\": {\n            \"id\": \"01a19bed-4391-738e-94f1-1bd63b8c33f4\",\n            \"name\": \"Sample-begm76383774\"\n        },\n        \"last_login_at\": null,\n        \"created_at\": \"2026-11-02T11:03:00+00:00\",\n        \"direct_permissions\": [],\n        \"effective_permissions\": [\n            \"admin.dashboard.index\"\n        ],\n        \"updated_at\": \"2026-11-02T11:03:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Left the company\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Left the company\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor",
                                                        "toggle-active"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Left the company\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Supervisors Toggle Reason Too Long",
                                            "_joshen": {
                                                "route": "admin.supervisors.toggle-active",
                                                "name": "Supervisors Toggle Reason Too Long",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors/01a1babb-3641-713c-8ca2-524aa77f9e41/toggle-active",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_supervisor_update_validation_toggle_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/01a1babb-3641-713c-8ca2-524aa77f9e41/toggle-active",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        "01a1babb-3641-713c-8ca2-524aa77f9e41",
                                                        "toggle-active"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "supervisor_id",
                                                "set_by": [
                                                    "admin.supervisors.index",
                                                    "admin.supervisors.store",
                                                    "admin.supervisors.show",
                                                    "admin.supervisors.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"supervisor_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/supervisors?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "supervisors"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[role_id]",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "Filter by role uuid",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[last_login_at]",
                                                    "value": "desc",
                                                    "description": "Sort by last login (or created_at)",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.supervisors.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n- `filters[role_id]` — Filter by role uuid (optional)\n- `sort[last_login_at]` — Sort by last login (or created_at) (optional)\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `supervisor_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Supervisors Index\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"supervisors\": [\n            {\n                \"id\": \"01a19bed-3ec3-70cb-8dba-c57f993e433c\",\n                \"full_name\": \"Marquise Reilly\",\n                \"email\": \"vonrueden.rod@example.net\",\n                \"phone_code\": \"966\",\n                \"phone\": \"539884656\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"status\": {\n                    \"value\": \"active\",\n                    \"label\": \"Active\"\n                },\n                \"role\": {\n                    \"id\": \"01a19bed-3eb4-72dc-804c-b94df819ba60\",\n                    \"name\": \"Sample-wryl83477028\"\n                },\n                \"last_login_at\": \"2026-11-01T11:02:59+00:00\",\n                \"created_at\": \"2026-11-02T11:02:59+00:00\"\n            },\n            {\n                \"id\": \"01a19bed-3ecf-73eb-9726-fc5b2c767944\",\n                \"full_name\": \"Prof. Otho Abernathy\",\n                \"email\": \"palma.nolan@example.net\",\n                \"phone_code\": \"966\",\n                \"phone\": \"501211741\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"status\": {\n                    \"value\": \"active\",\n                    \"label\": \"Active\"\n                },\n                \"role\": {\n                    \"id\": \"01a19bed-3eb4-72dc-804c-b94df819ba60\",\n                    \"name\": \"Sample-wryl83477028\"\n                },\n                \"last_login_at\": \"2026-11-02T11:02:59+00:00\",\n                \"created_at\": \"2026-11-02T11:02:59+00:00\"\n            },\n            {\n                \"id\": \"01a19bed-3edc-712b-86a9-33d7d84b3fb1\",\n                \"full_name\": \"Alessandra Lind\",\n                \"email\": \"geovany15@example.com\",\n                \"phone_code\": \"966\",\n                \"phone\": \"537516987\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"status\": {\n                    \"value\": \"inactive\",\n                    \"label\": \"Inactive\"\n                },\n                \"role\": {\n                    \"id\": \"01a19bed-3ed1-7358-b4a6-c00b866e01b9\",\n                    \"name\": \"Sample-tkui91736961\"\n                },\n                \"last_login_at\": null,\n                \"created_at\": \"2026-11-02T11:02:59+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/supervisors?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/supervisors?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/supervisors?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/supervisors\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Supervisors Index",
                                            "_joshen": {
                                                "route": "admin.supervisors.index",
                                                "name": "Supervisors Index",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupervisorControllerTest::test_ac_admin_024_index_lists_supervisors_only"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"supervisors\": [\n            {\n                \"id\": \"01a19bed-3ec3-70cb-8dba-c57f993e433c\",\n                \"full_name\": \"Marquise Reilly\",\n                \"email\": \"vonrueden.rod@example.net\",\n                \"phone_code\": \"966\",\n                \"phone\": \"539884656\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"status\": {\n                    \"value\": \"active\",\n                    \"label\": \"Active\"\n                },\n                \"role\": {\n                    \"id\": \"01a19bed-3eb4-72dc-804c-b94df819ba60\",\n                    \"name\": \"Sample-wryl83477028\"\n                },\n                \"last_login_at\": \"2026-11-01T11:02:59+00:00\",\n                \"created_at\": \"2026-11-02T11:02:59+00:00\"\n            },\n            {\n                \"id\": \"01a19bed-3ecf-73eb-9726-fc5b2c767944\",\n                \"full_name\": \"Prof. Otho Abernathy\",\n                \"email\": \"palma.nolan@example.net\",\n                \"phone_code\": \"966\",\n                \"phone\": \"501211741\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"status\": {\n                    \"value\": \"active\",\n                    \"label\": \"Active\"\n                },\n                \"role\": {\n                    \"id\": \"01a19bed-3eb4-72dc-804c-b94df819ba60\",\n                    \"name\": \"Sample-wryl83477028\"\n                },\n                \"last_login_at\": \"2026-11-02T11:02:59+00:00\",\n                \"created_at\": \"2026-11-02T11:02:59+00:00\"\n            },\n            {\n                \"id\": \"01a19bed-3edc-712b-86a9-33d7d84b3fb1\",\n                \"full_name\": \"Alessandra Lind\",\n                \"email\": \"geovany15@example.com\",\n                \"phone_code\": \"966\",\n                \"phone\": \"537516987\",\n                \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"status\": {\n                    \"value\": \"inactive\",\n                    \"label\": \"Inactive\"\n                },\n                \"role\": {\n                    \"id\": \"01a19bed-3ed1-7358-b4a6-c00b866e01b9\",\n                    \"name\": \"Sample-tkui91736961\"\n                },\n                \"last_login_at\": null,\n                \"created_at\": \"2026-11-02T11:02:59+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/admin/supervisors?page=1\",\n            \"last\": \"http://localhost/api/v1/admin/supervisors?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/admin/supervisors?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/admin/supervisors\",\n            \"per_page\": 15,\n            \"to\": 3,\n            \"total\": 3\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Filter by role uuid",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[last_login_at]",
                                                            "value": "desc",
                                                            "description": "Sort by last login (or created_at)",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Filter by role uuid",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[last_login_at]",
                                                            "value": "desc",
                                                            "description": "Sort by last login (or created_at)",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[role_id]",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Filter by role uuid",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[last_login_at]",
                                                            "value": "desc",
                                                            "description": "Sort by last login (or created_at)",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "supervisor_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"role_id\",\"Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\"],[\"permission_id\",\"Saved by GET /api/v1/admin/permissions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"supervisor_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/supervisors",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "supervisors"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.supervisors.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `full_name`\n- **Description:** Supervisor display name.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Huda Al-Harbi`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `email`\n- **Description:** Sign-in e-mail, unique across users.\n- **Type:** `string (email)`\n- **Required:** required\n- **Example:** `huda@example.com`\n- **Validation rules:** `required|email|max:255|unique:users,email,NULL,id`\n- `required` — must be provided.\n- `email` — must be a valid email address.\n- `max:255` — must not exceed 255.\n- `unique:users,email,NULL,id` — must be unique (users, email, NULL, id).\n### `phone_code`\n- **Description:** Dialling code; only +966 (Saudi Arabia) is accepted, sent together with `phone` (TD-23).\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** conditional\n- **Example:** `+966`\n- **Validation rules:** `nullable|required_with:phone|string|in:+966`\n- `nullable` — may be null.\n- `required_with:phone` — required when phone is present.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** Saudi mobile number, 9 digits starting with 5; unique among live accounts (TD-23).\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `551234567`\n- **Validation rules:** `nullable|required_with:phone_code|string|regex:/^5[0-9]{8}$/D|custom:Closure`\n- `nullable` — may be null.\n- `required_with:phone_code` — required when phone_code is present.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n- `custom:Closure` — checked by the Closure rule.\n### `password`\n- **Description:** Initial password, at least 8 characters; repeat it in `password_confirmation`.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `secret-pass-1`\n- **Validation rules:** `required|string|min:8|max:255|confirmed`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:8` — must be at least 8.\n- `max:255` — must not exceed 255.\n- `confirmed` — requires a matching *_confirmation field.\n### `role_id`\n- **Description:** Active, non-system role (uuid) that defines the supervisor's access (BR-29).\n- **Type:** `string (uuid)`\n- **Refers to:** a `roles` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{role_id}}`\n- **Validation rules:** `required|uuid|exists:roles,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:roles,uuid` — must reference an existing record (roles, uuid).\n### `permissions`\n- **Description:** Extra permission uuids granted on top of the role.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{permission_id}}\"]`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `permissions.*`\n- **Description:** One permission uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `permissions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{permission_id}}`\n- **Validation rules:** `distinct|uuid|exists:permissions,uuid`\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:permissions,uuid` — must reference an existing record (permissions, uuid).\n### `is_active`\n- **Description:** Whether the supervisor can sign in; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `image`\n- **Description:** Profile photo: the `hash` returned by the media upload (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{role_id}}` — Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\n- Uses `{{permission_id}}` — Saved by GET /api/v1/admin/permissions.\n- Saves `supervisor_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Supervisors Store\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Supervisors Store Missing Fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a19bed-3a5c-714e-8ab0-3876b3eb2515\",\n        \"full_name\": \"Huda Al-Harbi\",\n        \"email\": \"huda@example.test\",\n        \"phone_code\": \"+966\",\n        \"phone\": \"551234567\",\n        \"image\": \"/storage/uploads/huda.jpg\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"role\": {\n            \"id\": \"01a19bed-3a31-72de-b7f7-2ff9c93b4b18\",\n            \"name\": \"Sample-uwyz87674699\"\n        },\n        \"last_login_at\": null,\n        \"created_at\": \"2026-11-02T11:02:57+00:00\",\n        \"direct_permissions\": [\n            \"01a19bed-388d-7388-bc6b-9c1096822133\",\n            \"01a19bed-3892-736e-8596-74e56ed18377\"\n        ],\n        \"effective_permissions\": [\n            \"admin.contact-messages.index\",\n            \"admin.contact-messages.show\",\n            \"admin.dashboard.index\"\n        ],\n        \"updated_at\": \"2026-11-02T11:02:57+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"551234567\",\n    \"password\": \"secret-pass-1\",\n    \"role_id\": \"{{role_id}}\",\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"is_active\": true,\n    \"image\": null\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Supervisors Store",
                                            "_joshen": {
                                                "route": "admin.supervisors.store",
                                                "name": "Supervisors Store",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors",
                                                    "query": null,
                                                    "body": {
                                                        "user_type": "super_admin",
                                                        "permissions": [
                                                            "01a19bed-388d-7388-bc6b-9c1096822133",
                                                            "01a19bed-3892-736e-8596-74e56ed18377"
                                                        ],
                                                        "image": "f9uHAu4H1ZDv3Q96gdjvnNFTKsC3GpvV",
                                                        "full_name": "Huda Al-Harbi",
                                                        "email": "huda@example.test",
                                                        "phone_code": "966",
                                                        "phone": "0551234567",
                                                        "password": "secret-pass-1",
                                                        "password_confirmation": "secret-pass-1",
                                                        "role_id": "01a19bed-3a31-72de-b7f7-2ff9c93b4b18"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupervisorControllerTest::test_ac_admin_024_store_supervisor"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"user_type\": \"super_admin\",\n    \"permissions\": [\n        \"01a19bed-388d-7388-bc6b-9c1096822133\",\n        \"01a19bed-3892-736e-8596-74e56ed18377\"\n    ],\n    \"image\": \"f9uHAu4H1ZDv3Q96gdjvnNFTKsC3GpvV\",\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.test\",\n    \"phone_code\": \"966\",\n    \"phone\": \"0551234567\",\n    \"password\": \"secret-pass-1\",\n    \"password_confirmation\": \"secret-pass-1\",\n    \"role_id\": \"01a19bed-3a31-72de-b7f7-2ff9c93b4b18\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a19bed-3a5c-714e-8ab0-3876b3eb2515\",\n        \"full_name\": \"Huda Al-Harbi\",\n        \"email\": \"huda@example.test\",\n        \"phone_code\": \"+966\",\n        \"phone\": \"551234567\",\n        \"image\": \"/storage/uploads/huda.jpg\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"role\": {\n            \"id\": \"01a19bed-3a31-72de-b7f7-2ff9c93b4b18\",\n            \"name\": \"Sample-uwyz87674699\"\n        },\n        \"last_login_at\": null,\n        \"created_at\": \"2026-11-02T11:02:57+00:00\",\n        \"direct_permissions\": [\n            \"01a19bed-388d-7388-bc6b-9c1096822133\",\n            \"01a19bed-3892-736e-8596-74e56ed18377\"\n        ],\n        \"effective_permissions\": [\n            \"admin.contact-messages.index\",\n            \"admin.contact-messages.show\",\n            \"admin.dashboard.index\"\n        ],\n        \"updated_at\": \"2026-11-02T11:02:57+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"551234567\",\n    \"password\": \"secret-pass-1\",\n    \"role_id\": \"{{role_id}}\",\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"is_active\": true,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"551234567\",\n    \"password\": \"secret-pass-1\",\n    \"role_id\": \"{{role_id}}\",\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"is_active\": true,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"551234567\",\n    \"password\": \"secret-pass-1\",\n    \"role_id\": \"{{role_id}}\",\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"is_active\": true,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Supervisors Store Missing Fields",
                                            "_joshen": {
                                                "route": "admin.supervisors.store",
                                                "name": "Supervisors Store Missing Fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_supervisor_update_validation_toggle_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Full Name field is required. (and 3 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"full_name\": [\n                \"The Full Name field is required.\"\n            ],\n            \"email\": [\n                \"The Email field is required.\"\n            ],\n            \"password\": [\n                \"The Password field is required.\"\n            ],\n            \"role_id\": [\n                \"The Role field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "supervisor_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "role_id",
                                                "set_by": [
                                                    "admin.roles.index",
                                                    "admin.roles.store",
                                                    "admin.roles.show",
                                                    "admin.roles.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                            },
                                            {
                                                "name": "permission_id",
                                                "set_by": [
                                                    "admin.permissions.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/permissions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"supervisor_id\",\"Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"supervisor_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "supervisors",
                                                ":supervisor"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "supervisor",
                                                    "value": "{{supervisor_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.supervisors.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{supervisor_id}}` — Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Saves `supervisor_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Supervisors Show\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a19bed-4114-7253-933f-b4425c9dfc6a\",\n        \"full_name\": \"Walter Schowalter\",\n        \"email\": \"joaquin.moore@example.net\",\n        \"phone_code\": \"966\",\n        \"phone\": \"517239809\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"role\": {\n            \"id\": \"01a19bed-410a-7322-a50d-32b94d359e09\",\n            \"name\": \"Sample-qpnn89623636\"\n        },\n        \"last_login_at\": null,\n        \"created_at\": \"2026-11-02T11:02:59+00:00\",\n        \"direct_permissions\": [],\n        \"effective_permissions\": [\n            \"admin.dashboard.index\"\n        ],\n        \"updated_at\": \"2026-11-02T11:02:59+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Supervisors Show",
                                            "_joshen": {
                                                "route": "admin.supervisors.show",
                                                "name": "Supervisors Show",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors/01a19bed-4114-7253-933f-b4425c9dfc6a",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\SupervisorControllerTest::test_ac_admin_024_show_and_update_supervisor"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/01a19bed-4114-7253-933f-b4425c9dfc6a",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        "01a19bed-4114-7253-933f-b4425c9dfc6a"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a19bed-4114-7253-933f-b4425c9dfc6a\",\n        \"full_name\": \"Walter Schowalter\",\n        \"email\": \"joaquin.moore@example.net\",\n        \"phone_code\": \"966\",\n        \"phone\": \"517239809\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"role\": {\n            \"id\": \"01a19bed-410a-7322-a50d-32b94d359e09\",\n            \"name\": \"Sample-qpnn89623636\"\n        },\n        \"last_login_at\": null,\n        \"created_at\": \"2026-11-02T11:02:59+00:00\",\n        \"direct_permissions\": [],\n        \"effective_permissions\": [\n            \"admin.dashboard.index\"\n        ],\n        \"updated_at\": \"2026-11-02T11:02:59+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "supervisor_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "supervisor_id",
                                                "set_by": [
                                                    "admin.supervisors.index",
                                                    "admin.supervisors.store",
                                                    "admin.supervisors.show",
                                                    "admin.supervisors.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"supervisor_id\",\"Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"],[\"role_id\",\"Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\"],[\"permission_id\",\"Saved by GET /api/v1/admin/permissions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"supervisor_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "supervisors",
                                                ":supervisor"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "supervisor",
                                                    "value": "{{supervisor_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.supervisors.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `full_name`\n- **Description:** Supervisor display name.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Huda Al-Harbi`\n- **Validation rules:** `sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `email`\n- **Description:** Sign-in e-mail, unique across users.\n- **Type:** `string (email)`\n- **Required:** optional\n- **Example:** `huda@example.com`\n- **Validation rules:** `sometimes|email|max:255|unique:users,email,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `email` — must be a valid email address.\n- `max:255` — must not exceed 255.\n- `unique:users,email,NULL,id` — must be unique (users, email, NULL, id).\n### `phone_code`\n- **Description:** Dialling code; only +966 (Saudi Arabia) is accepted, sent together with `phone` (TD-23).\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** conditional\n- **Example:** `+966`\n- **Validation rules:** `nullable|required_with:phone|string|in:+966`\n- `nullable` — may be null.\n- `required_with:phone` — required when phone is present.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** Saudi mobile number, 9 digits starting with 5; unique among live accounts (TD-23).\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `551234567`\n- **Validation rules:** `nullable|required_with:phone_code|string|regex:/^5[0-9]{8}$/D|custom:Closure`\n- `nullable` — may be null.\n- `required_with:phone_code` — required when phone_code is present.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n- `custom:Closure` — checked by the Closure rule.\n### `password`\n- **Description:** Initial password, at least 8 characters; repeat it in `password_confirmation`.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `secret-pass-1`\n- **Validation rules:** `sometimes|string|min:8|max:255|confirmed`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `min:8` — must be at least 8.\n- `max:255` — must not exceed 255.\n- `confirmed` — requires a matching *_confirmation field.\n### `role_id`\n- **Description:** Active, non-system role (uuid) that defines the supervisor's access (BR-29).\n- **Type:** `string (uuid)`\n- **Refers to:** a `roles` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{role_id}}`\n- **Validation rules:** `sometimes|uuid|exists:roles,uuid`\n- `sometimes` — validated only when the field is present.\n- `uuid` — must be a uuid.\n- `exists:roles,uuid` — must reference an existing record (roles, uuid).\n### `permissions`\n- **Description:** Extra permission uuids granted on top of the role.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{permission_id}}\"]`\n- **Validation rules:** `sometimes|array`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n### `permissions.*`\n- **Description:** One permission uuid.\n- **Type:** `string (uuid)`\n- **Refers to:** a `permissions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{permission_id}}`\n- **Validation rules:** `distinct|uuid|exists:permissions,uuid`\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:permissions,uuid` — must reference an existing record (permissions, uuid).\n### `is_active`\n- **Description:** Whether the supervisor can sign in; true by default.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `image`\n- **Description:** Profile photo: the `hash` returned by the media upload (TD-14).\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `sometimes|nullable|string|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{supervisor_id}}` — Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n- Uses `{{role_id}}` — Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}.\n- Uses `{{permission_id}}` — Saved by GET /api/v1/admin/permissions.\n- Saves `supervisor_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Supervisors Updated\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Supervisors Update Duplicate Email\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-3641-713c-8ca2-524aa77f9e41\",\n        \"full_name\": \"Huda Al-Otaibi\",\n        \"email\": \"huda@example.test\",\n        \"phone_code\": \"+966\",\n        \"phone\": \"551234567\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"role\": {\n            \"id\": \"01a1babb-3613-70a6-9c28-b05eb33bde9e\",\n            \"name\": \"Sample-yudz70816002\"\n        },\n        \"last_login_at\": null,\n        \"created_at\": \"2026-11-08T10:36:33+00:00\",\n        \"direct_permissions\": [],\n        \"effective_permissions\": [\n            \"admin.dashboard.index\"\n        ],\n        \"updated_at\": \"2026-11-08T10:36:33+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"551234567\",\n    \"password\": \"secret-pass-1\",\n    \"role_id\": \"{{role_id}}\",\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"is_active\": true,\n    \"image\": null\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Supervisors Updated",
                                            "_joshen": {
                                                "route": "admin.supervisors.update",
                                                "name": "Supervisors Updated",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors/01a1babb-3641-713c-8ca2-524aa77f9e41",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Huda Al-Otaibi"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_supervisor_update_validation_toggle_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/01a1babb-3641-713c-8ca2-524aa77f9e41",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        "01a1babb-3641-713c-8ca2-524aa77f9e41"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Otaibi\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1babb-3641-713c-8ca2-524aa77f9e41\",\n        \"full_name\": \"Huda Al-Otaibi\",\n        \"email\": \"huda@example.test\",\n        \"phone_code\": \"+966\",\n        \"phone\": \"551234567\",\n        \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"role\": {\n            \"id\": \"01a1babb-3613-70a6-9c28-b05eb33bde9e\",\n            \"name\": \"Sample-yudz70816002\"\n        },\n        \"last_login_at\": null,\n        \"created_at\": \"2026-11-08T10:36:33+00:00\",\n        \"direct_permissions\": [],\n        \"effective_permissions\": [\n            \"admin.dashboard.index\"\n        ],\n        \"updated_at\": \"2026-11-08T10:36:33+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"551234567\",\n    \"password\": \"secret-pass-1\",\n    \"role_id\": \"{{role_id}}\",\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"is_active\": true,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"551234567\",\n    \"password\": \"secret-pass-1\",\n    \"role_id\": \"{{role_id}}\",\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"is_active\": true,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Huda Al-Harbi\",\n    \"email\": \"huda@example.com\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"551234567\",\n    \"password\": \"secret-pass-1\",\n    \"role_id\": \"{{role_id}}\",\n    \"permissions\": [\n        \"{{permission_id}}\"\n    ],\n    \"is_active\": true,\n    \"image\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Supervisors Update Duplicate Email",
                                            "_joshen": {
                                                "route": "admin.supervisors.update",
                                                "name": "Supervisors Update Duplicate Email",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors/01a1babb-3641-713c-8ca2-524aa77f9e41",
                                                    "query": null,
                                                    "body": {
                                                        "email": "oreilly.demetrius@example.org"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_supervisor_update_validation_toggle_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/01a1babb-3641-713c-8ca2-524aa77f9e41",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        "01a1babb-3641-713c-8ca2-524aa77f9e41"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"email\": \"oreilly.demetrius@example.org\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Email has already been taken.\",\n    \"data\": {\n        \"errors\": {\n            \"email\": [\n                \"The Email has already been taken.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "supervisor_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "supervisor_id",
                                                "set_by": [
                                                    "admin.supervisors.index",
                                                    "admin.supervisors.store",
                                                    "admin.supervisors.show",
                                                    "admin.supervisors.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            },
                                            {
                                                "name": "role_id",
                                                "set_by": [
                                                    "admin.roles.index",
                                                    "admin.roles.store",
                                                    "admin.roles.show",
                                                    "admin.roles.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/roles, POST /api/v1/admin/roles, GET /api/v1/admin/roles/{role}, PUT /api/v1/admin/roles/{role}."
                                            },
                                            {
                                                "name": "permission_id",
                                                "set_by": [
                                                    "admin.permissions.index"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/permissions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"supervisor_id\",\"Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}.\"],[\"admin_token\",\"Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{admin_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "admin",
                                                "supervisors",
                                                ":supervisor"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "supervisor",
                                                    "value": "{{supervisor_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `admin.supervisors.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:admin, active, rbac.auto`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{supervisor_id}}` — Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}.\n- Uses `{{admin_token}}` — Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh.\n\n**Responses:**\n- `200` Supervisors Deleted\n- `401` Missing, expired or logged-out token — `error_code: UNAUTHENTICATED`\n- `403` Admin lacks the permission for this route — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Supervisors Deleted",
                                            "_joshen": {
                                                "route": "admin.supervisors.destroy",
                                                "name": "Supervisors Deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/supervisors/01a1babb-3641-713c-8ca2-524aa77f9e41",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AdminAccessExamplesTest::test_ac_admin_024_supervisor_update_validation_toggle_and_delete"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/01a1babb-3641-713c-8ca2-524aa77f9e41",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        "01a1babb-3641-713c-8ca2-524aa77f9e41"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data removed successfully\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing, expired or logged-out token",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Missing, expired or logged-out token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\AuthControllerTest::test_ac_admin_001_login_me_refresh_and_logout",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Admin lacks the permission for this route",
                                            "_joshen": {
                                                "route": "admin.roles.update",
                                                "name": "Admin lacks the permission for this route",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/roles/01a19bed-68b4-70dc-8fc6-3494da6fe752",
                                                    "query": null,
                                                    "body": {
                                                        "ar": {
                                                            "name": "محاولة"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Admin\\RbacEnforcementTest::test_ac_admin_024_supervisor_reaches_only_granted_section_actions",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "rbac.auto"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"permission\": \"admin.roles.update\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "admin.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/admin/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "admin",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{admin_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/admin/supervisors/:supervisor",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "admin",
                                                        "supervisors",
                                                        ":supervisor"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "supervisor",
                                                            "value": "{{supervisor_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"49e43472-d291-465f-b8d0-814034fdbee8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "supervisor_id",
                                                "set_by": [
                                                    "admin.supervisors.index",
                                                    "admin.supervisors.store",
                                                    "admin.supervisors.show",
                                                    "admin.supervisors.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/supervisors, POST /api/v1/admin/supervisors, GET /api/v1/admin/supervisors/{supervisor}, PUT /api/v1/admin/supervisors/{supervisor}."
                                            },
                                            {
                                                "name": "admin_token",
                                                "set_by": [
                                                    "admin.auth.login",
                                                    "admin.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/admin/auth/login, POST /api/v1/admin/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "Client",
            "item": [
                {
                    "name": "Account",
                    "item": [
                        {
                            "name": "Auth",
                            "item": [
                                {
                                    "name": "Register",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/auth/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "auth",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.auth.register`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** Phone code _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** required\n- **Example:** `+966`\n- **Validation rules:** `required|string|in:+966`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** Phone _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `512345678`\n- **Validation rules:** `required|string|regex:/^5[0-9]{8}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password_confirmation`\n- **Description:** Password confirmation _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `full_name`\n- **Description:** Full name _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Test Account`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `guarantees_female_gender`\n- **Description:** Guarantees female gender _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n### `accept_policies`\n- **Description:** Accept policies _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n### `accept_terms`\n- **Description:** Accept terms _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n\n**Variables:**\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Register\n- `429` Too many codes sent to this phone — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-42ee-73e9-8606-b07868d2c676\",\n        \"expires_at\": \"2026-10-25T07:58:26+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:49:26+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"full_name\": \"Test Account\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\",\n    \"guarantees_female_gender\": true,\n    \"accept_policies\": true,\n    \"accept_terms\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Register",
                                            "_joshen": {
                                                "route": "client.auth.register",
                                                "name": "Register",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/register",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678",
                                                        "full_name": "Test Account",
                                                        "accept_terms": true,
                                                        "accept_policies": true,
                                                        "guarantees_female_gender": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\",\n    \"full_name\": \"Test Account\",\n    \"accept_terms\": true,\n    \"accept_policies\": true,\n    \"guarantees_female_gender\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-42ee-73e9-8606-b07868d2c676\",\n        \"expires_at\": \"2026-10-25T07:58:26+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:49:26+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Test Account\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\",\n    \"guarantees_female_gender\": true,\n    \"accept_policies\": true,\n    \"accept_terms\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Too many codes sent to this phone",
                                            "_joshen": {
                                                "route": "client.auth.register",
                                                "name": "Too many codes sent to this phone",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/register",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678",
                                                        "full_name": "Test Account",
                                                        "accept_terms": true,
                                                        "accept_policies": true,
                                                        "guarantees_female_gender": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_otp_send_returns_429_when_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\",\n    \"full_name\": \"Test Account\",\n    \"accept_terms\": true,\n    \"accept_policies\": true,\n    \"guarantees_female_gender\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": []
                                    }
                                },
                                {
                                    "name": "Login",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/auth/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "auth",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.auth.login`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** Phone code _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** required\n- **Example:** `+966`\n- **Validation rules:** `required|string|in:+966`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** Phone _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `500000002`\n- **Validation rules:** `required|string|regex:/^5[0-9]{8}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password_confirmation`\n- **Description:** Password confirmation _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Login\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-43a4-7103-82e9-d7ef5ea980f7\",\n        \"expires_at\": \"2026-10-25T07:58:26+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:49:26+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"500000002\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Login",
                                            "_joshen": {
                                                "route": "client.auth.login",
                                                "name": "Login",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/login",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_login_sends_otp_and_issues_same_app_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-43a4-7103-82e9-d7ef5ea980f7\",\n        \"expires_at\": \"2026-10-25T07:58:26+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:49:26+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"500000002\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": []
                                    }
                                },
                                {
                                    "name": "Verify",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"],[\"otp_code\",\"The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table).\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"client_token\",\"data.access_token\"],[\"token\",\"data.access_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/auth/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "auth",
                                                "verify"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.auth.verify`\n**Middleware:** `api, set_locale, cors, throttle:otp-verify`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Verification token _(no description yet)_\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n### `code`\n- **Description:** Code _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `{{otp_code}}`\n- **Validation rules:** `required|string|regex:/^[0-9]{4}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^[0-9]{4}$/D` — must match the pattern shown.\n### `device_token`\n- **Description:** Device token _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `fcm-device-token-sample`\n- **Validation rules:** `nullable|string|max:4096`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n### `device_type`\n- **Description:** Device type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `ios`, `android`, `huawei`\n- **Required:** conditional\n- **Example:** `ios`\n- **Validation rules:** `required_with:device_token|nullable|in:ios,android,huawei`\n- `required_with:device_token` — required when device_token is present.\n- `nullable` — may be null.\n- `in:ios,android,huawei` — must be one of: ios, android, huawei.\n### `app_version`\n- **Description:** App version _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1.0.0`\n- **Validation rules:** `nullable|string|max:20`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n- Uses `{{otp_code}}` — The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table).\n- Saves `client_token` ← `data.access_token` of a 2xx response\n- Saves `token` ← `data.access_token` of a 2xx response\n\n**Responses:**\n- `200` Verify\n- `429` Code locked after five wrong attempts — `error_code: OTP_TOO_MANY_ATTEMPTS`\n- `429` Too many verify requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Phone verified successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-42fb-739f-b02a-8b44ade80664\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-42fd-72d2-9b75-1c88eac52665\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": null,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"{{otp_code}}\",\n    \"device_token\": \"fcm-device-token-sample\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Verify",
                                            "_joshen": {
                                                "route": "client.auth.verify",
                                                "name": "Verify",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-42ee-73e9-8606-b07868d2c676",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-42ee-73e9-8606-b07868d2c676\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Phone verified successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-42fb-739f-b02a-8b44ade80664\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-42fd-72d2-9b75-1c88eac52665\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": null,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"{{otp_code}}\",\n    \"device_token\": \"fcm-device-token-sample\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Code locked after five wrong attempts",
                                            "_joshen": {
                                                "route": "client.auth.verify",
                                                "name": "Code locked after five wrong attempts",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-43e3-700f-9be4-20ca88d91348",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_otp_returns_invalid_then_429_on_sixth_attempt"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-43e3-700f-9be4-20ca88d91348\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many incorrect codes. Request a new code.\",\n    \"data\": {\n        \"error_code\": \"OTP_TOO_MANY_ATTEMPTS\",\n        \"correlation_id\": \"41d4d1ce-8927-4f14-ad41-f465b80f2914\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many verify requests",
                                            "_joshen": {
                                                "route": "client.auth.verify",
                                                "name": "Too many verify requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-47ab-722f-be6e-c2f0de3897e4",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_verify_request_limiter_returns_429"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-47ab-722f-be6e-c2f0de3897e4\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "client_token",
                                                "path": "data.access_token"
                                            },
                                            {
                                                "name": "token",
                                                "path": "data.access_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            },
                                            {
                                                "name": "otp_code",
                                                "set_by": [],
                                                "how": "The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table)."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Resend",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/auth/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "auth",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.auth.resend`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Verification token _(no description yet)_\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n\n**Variables:**\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Resend Code\n- `429` Resend before the cooldown ends — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-4477-7216-bccd-2515d0189d22\",\n        \"expires_at\": \"2026-10-25T07:59:27+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:50:27+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Resend Code",
                                            "_joshen": {
                                                "route": "client.auth.resend",
                                                "name": "Resend Code",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-4477-7216-bccd-2515d0189d22"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_resend_returns_429_until_cooldown_then_same_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-4477-7216-bccd-2515d0189d22\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-4477-7216-bccd-2515d0189d22\",\n        \"expires_at\": \"2026-10-25T07:59:27+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:50:27+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Resend before the cooldown ends",
                                            "_joshen": {
                                                "route": "client.auth.resend",
                                                "name": "Resend before the cooldown ends",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-4477-7216-bccd-2515d0189d22"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_resend_returns_429_until_cooldown_then_same_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-4477-7216-bccd-2515d0189d22\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Please wait before requesting another code.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\",\n        \"correlation_id\": \"f686fac8-3f87-459d-ac1a-8ae9ddceaf7d\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Refresh",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"client_token\",\"data.access_token\"],[\"token\",\"data.access_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/auth/refresh",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "auth",
                                                "refresh"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.auth.refresh`\n**Middleware:** `api, set_locale, cors, jwt.refreshable:customer, app:customer, active`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `client_token` ← `data.access_token` of a 2xx response\n- Saves `token` ← `data.access_token` of a 2xx response\n\n**Responses:**\n- `200` Refresh\n- `200` Refresh After Expiry\n- `401` Refresh without a token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-454f-71d0-a1aa-004908e7a5a8\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-4551-73c1-a0a2-acf16d080fba\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Refresh",
                                            "_joshen": {
                                                "route": "client.auth.refresh",
                                                "name": "Refresh",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_refresh_keeps_app_logout_revokes_token_and_device_app"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-454f-71d0-a1aa-004908e7a5a8\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-4551-73c1-a0a2-acf16d080fba\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Refresh After Expiry",
                                            "_joshen": {
                                                "route": "client.auth.refresh",
                                                "name": "Refresh After Expiry",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_td_29_access_ttl_and_refresh_window"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-47e0-7254-a616-46c1114c2fe0\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-47e1-734b-ac12-9c07eb74329c\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Refresh without a token",
                                            "_joshen": {
                                                "route": "client.auth.refresh",
                                                "name": "Refresh without a token",
                                                "code": 401,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_td_29_refresh_without_valid_token_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "client_token",
                                                "path": "data.access_token"
                                            },
                                            {
                                                "name": "token",
                                                "path": "data.access_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Logout",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/auth/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "auth",
                                                "logout"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.auth.logout`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `device_token`\n- **Description:** FCM push token of this device, so the backend stops sending pushes to it after logout; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `fcm-device-token-sample`\n- **Validation rules:** `nullable|string|max:4096`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Logout\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Logout",
                                            "_joshen": {
                                                "route": "client.auth.logout",
                                                "name": "Logout",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/logout",
                                                    "query": null,
                                                    "body": {
                                                        "device_token": "test-push-token"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_refresh_keeps_app_logout_revokes_token_and_device_app"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"test-push-token\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Me",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/auth/me",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "auth",
                                                "me"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.auth.me`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Me\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a17208-42fb-739f-b02a-8b44ade80664\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-42fd-72d2-9b75-1c88eac52665\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Me",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Me",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a17208-42fb-739f-b02a-8b44ade80664\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-42fd-72d2-9b75-1c88eac52665\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Addresses",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"address_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.addresses.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `address_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Default first then newest addresses\n- `200` No saved addresses\n- `200` Saved service addresses\n- `401` Guest must sign in — `error_code: UNAUTHENTICATED`\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Customer account is inactive — `error_code: ACCOUNT_INACTIVE`\n- `403` Customer app token and profile required — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17208-543c-734d-80ff-e66038280292\",\n            \"label\": \"Work\",\n            \"label_type\": {\n                \"value\": \"home\",\n                \"label\": \"Home\"\n            },\n            \"city\": {\n                \"id\": \"01a17208-542e-7284-9793-50b975e8e1d7\",\n                \"name\": \"Riyadh\"\n            },\n            \"district\": {\n                \"id\": \"01a17208-5432-72cc-8018-fc070c42a451\",\n                \"name\": \"Al Yasmin\"\n            },\n            \"address_line\": \"Prince Sultan Street, Villa 12\",\n            \"details\": \"First floor\",\n            \"lat\": 24.713552,\n            \"lng\": 46.675296,\n            \"is_default\": true,\n            \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n        },\n        {\n            \"id\": \"01a17208-544e-735b-853d-d6afe4d15b23\",\n            \"label\": \"Other\",\n            \"label_type\": {\n                \"value\": \"home\",\n                \"label\": \"Home\"\n            },\n            \"city\": {\n                \"id\": \"01a17208-5440-702c-957d-6610d4f0c184\",\n                \"name\": \"Riyadh\"\n            },\n            \"district\": {\n                \"id\": \"01a17208-5444-73d1-bad6-3c5bf3fa14cd\",\n                \"name\": \"Al Yasmin\"\n            },\n            \"address_line\": \"Prince Sultan Street, Villa 12\",\n            \"details\": \"First floor\",\n            \"lat\": 24.713552,\n            \"lng\": 46.675296,\n            \"is_default\": false,\n            \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n        },\n        {\n            \"id\": \"01a17208-542a-72c7-89f2-4a8023ad9574\",\n            \"label\": \"Home\",\n            \"label_type\": {\n                \"value\": \"home\",\n                \"label\": \"Home\"\n            },\n            \"city\": {\n                \"id\": \"01a17208-5414-7121-954e-74fdd71746f8\",\n                \"name\": \"Riyadh\"\n            },\n            \"district\": {\n                \"id\": \"01a17208-5419-7249-a153-5592b02fa367\",\n                \"name\": \"Al Yasmin\"\n            },\n            \"address_line\": \"Prince Sultan Street, Villa 12\",\n            \"details\": \"First floor\",\n            \"lat\": 24.713552,\n            \"lng\": 46.675296,\n            \"is_default\": false,\n            \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Default first then newest addresses",
                                            "_joshen": {
                                                "route": "client.addresses.index",
                                                "name": "Default first then newest addresses",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_switch_default_preserves_other_customers_and_orders_the_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17208-543c-734d-80ff-e66038280292\",\n            \"label\": \"Work\",\n            \"label_type\": {\n                \"value\": \"home\",\n                \"label\": \"Home\"\n            },\n            \"city\": {\n                \"id\": \"01a17208-542e-7284-9793-50b975e8e1d7\",\n                \"name\": \"Riyadh\"\n            },\n            \"district\": {\n                \"id\": \"01a17208-5432-72cc-8018-fc070c42a451\",\n                \"name\": \"Al Yasmin\"\n            },\n            \"address_line\": \"Prince Sultan Street, Villa 12\",\n            \"details\": \"First floor\",\n            \"lat\": 24.713552,\n            \"lng\": 46.675296,\n            \"is_default\": true,\n            \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n        },\n        {\n            \"id\": \"01a17208-544e-735b-853d-d6afe4d15b23\",\n            \"label\": \"Other\",\n            \"label_type\": {\n                \"value\": \"home\",\n                \"label\": \"Home\"\n            },\n            \"city\": {\n                \"id\": \"01a17208-5440-702c-957d-6610d4f0c184\",\n                \"name\": \"Riyadh\"\n            },\n            \"district\": {\n                \"id\": \"01a17208-5444-73d1-bad6-3c5bf3fa14cd\",\n                \"name\": \"Al Yasmin\"\n            },\n            \"address_line\": \"Prince Sultan Street, Villa 12\",\n            \"details\": \"First floor\",\n            \"lat\": 24.713552,\n            \"lng\": 46.675296,\n            \"is_default\": false,\n            \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n        },\n        {\n            \"id\": \"01a17208-542a-72c7-89f2-4a8023ad9574\",\n            \"label\": \"Home\",\n            \"label_type\": {\n                \"value\": \"home\",\n                \"label\": \"Home\"\n            },\n            \"city\": {\n                \"id\": \"01a17208-5414-7121-954e-74fdd71746f8\",\n                \"name\": \"Riyadh\"\n            },\n            \"district\": {\n                \"id\": \"01a17208-5419-7249-a153-5592b02fa367\",\n                \"name\": \"Al Yasmin\"\n            },\n            \"address_line\": \"Prince Sultan Street, Villa 12\",\n            \"details\": \"First floor\",\n            \"lat\": 24.713552,\n            \"lng\": 46.675296,\n            \"is_default\": false,\n            \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 No saved addresses",
                                            "_joshen": {
                                                "route": "client.addresses.index",
                                                "name": "No saved addresses",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_crud_persists_schema_fields_and_soft_deletes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": []\n}"
                                        },
                                        {
                                            "name": "200 Saved service addresses",
                                            "_joshen": {
                                                "route": "client.addresses.index",
                                                "name": "Saved service addresses",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_crud_persists_schema_fields_and_soft_deletes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17208-53cd-711c-a39f-6f14eca70e6b\",\n            \"label\": \"Office\",\n            \"label_type\": {\n                \"value\": \"work\",\n                \"label\": \"Work\"\n            },\n            \"city\": {\n                \"id\": \"01a17208-53b7-7259-9b79-30e9ba319b24\",\n                \"name\": \"Riyadh\"\n            },\n            \"district\": null,\n            \"address_line\": \"Building 5\",\n            \"details\": null,\n            \"lat\": null,\n            \"lng\": null,\n            \"is_default\": true,\n            \"formatted\": \"Riyadh، Building 5\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Guest must sign in",
                                            "_joshen": {
                                                "route": "client.addresses.index",
                                                "name": "Guest must sign in",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer account is inactive",
                                            "_joshen": {
                                                "route": "client.addresses.index",
                                                "name": "Customer account is inactive",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_disabled_customer_returns_403_account_inactive"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account is inactive. Contact support.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"9d5c793c-eaf7-4a4c-9ead-6501cc2aaf26\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer app token and profile required",
                                            "_joshen": {
                                                "route": "client.addresses.index",
                                                "name": "Customer app token and profile required",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"264c38ca-da94-4ab0-ab6d-582534db27ae\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "address_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"address_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.addresses.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `label`\n- **Description:** Customer-visible name of this saved service address (CUST-004).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Home`\n- **Validation rules:** `sometimes|required|string|max:60`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `string` — must be text.\n- `max:60` — must not exceed 60.\n### `label_type`\n- **Description:** Icon/label category; defaults to other when omitted on create (schema).\n- **Type:** `string (enum)`\n- **Allowed values:** `home`, `work`, `other`\n- **Required:** optional\n- **Example:** `home`\n- **Validation rules:** `sometimes|required|in:\"home\",\"work\",\"other\"`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `in:\"home\",\"work\",\"other\"` — must be one of: \"home\", \"work\", \"other\".\n### `city_id`\n- **Description:** BRD city UUID from governorates; must be an active service area (BR-08).\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `sometimes|required|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `district_id`\n- **Description:** Optional BRD district UUID from regions, active and belonging to city_id (TD-69).\n- **Type:** `string (uuid)`\n- **Refers to:** a `regions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{region_id}}`\n- **Validation rules:** `nullable|uuid|exists:regions,uuid`\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:regions,uuid` — must reference an existing record (regions, uuid).\n### `address_line`\n- **Description:** Street/building part of the service location.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Prince Sultan Street, Villa 12`\n- **Validation rules:** `sometimes|required|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `details`\n- **Description:** Optional floor/unit or arrival instructions; null clears it on PUT.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `First floor`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `lat`\n- **Description:** Map latitude; send with lng, both numbers or both null to clear (TD-69).\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `24.713552`\n- **Validation rules:** `nullable|present_with:lng|required_with:lng|numeric|between:-90,90`\n- `nullable` — may be null.\n- `present_with:lng` — custom validation rule.\n- `required_with:lng` — required when lng is present.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Map longitude paired with lat; omitted pair preserves saved coordinates on PUT.\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `46.675296`\n- **Validation rules:** `nullable|present_with:lat|required_with:lat|numeric|between:-180,180`\n- `nullable` — may be null.\n- `present_with:lat` — custom validation rule.\n- `required_with:lat` — required when lat is present.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n- Saves `address_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Arabic service address\n- `201` First service address becomes default\n- `201` Minimal address uses schema label type default\n- `401` Guest must sign in — `error_code: UNAUTHENTICATED`\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Customer account is inactive — `error_code: ACCOUNT_INACTIVE`\n- `403` Customer app token and profile required — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` District belongs to another city — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Inactive city is unavailable — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Inactive district is unavailable — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Invalid request: integer city\n- `422` Invalid request: integer district\n- `422` Invalid request: latitude out of range\n- `422` Invalid request: long address\n- `422` Invalid request: long details\n- `422` Invalid request: long label\n- `422` Invalid request: longitude out of range\n- `422` Invalid request: missing latitude\n- `422` Invalid request: missing longitude\n- `422` Invalid request: mixed null pair\n- `422` Invalid request: non-numeric coordinates\n- `422` Invalid request: null label\n- `422` Invalid request: single null latitude\n- `422` Invalid request: single null longitude\n- `422` Invalid request: unknown city UUID\n- `422` Invalid request: unknown district UUID\n- `422` Invalid request: unknown label type\n- `422` Required address fields missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-5ebf-72e5-875a-d3f08d0b6374\",\n        \"label\": \"المنزل\",\n        \"label_type\": {\n            \"value\": \"home\",\n            \"label\": \"المنزل\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-5eac-71dd-8398-4721c9eec202\",\n            \"name\": \"الرياض\"\n        },\n        \"district\": {\n            \"id\": \"01a17208-5eb1-7088-9b03-131b0cd7cdc9\",\n            \"name\": \"الياسمين\"\n        },\n        \"address_line\": \"شارع الأمير سلطان\",\n        \"details\": \"الدور الأول\",\n        \"lat\": 24.713552,\n        \"lng\": 46.675296,\n        \"is_default\": true,\n        \"formatted\": \"الرياض، الياسمين، شارع الأمير سلطان، الدور الأول\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_id\": \"{{region_id}}\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Arabic service address",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Arabic service address",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "المنزل",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5eac-71dd-8398-4721c9eec202",
                                                        "district_id": "01a17208-5eb1-7088-9b03-131b0cd7cdc9",
                                                        "address_line": "شارع الأمير سلطان",
                                                        "details": "الدور الأول",
                                                        "lat": 24.713552,
                                                        "lng": 46.675296
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_arabic_formatted_address_and_unavailability_alert"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"المنزل\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5eac-71dd-8398-4721c9eec202\",\n    \"district_id\": \"01a17208-5eb1-7088-9b03-131b0cd7cdc9\",\n    \"address_line\": \"شارع الأمير سلطان\",\n    \"details\": \"الدور الأول\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-5ebf-72e5-875a-d3f08d0b6374\",\n        \"label\": \"المنزل\",\n        \"label_type\": {\n            \"value\": \"home\",\n            \"label\": \"المنزل\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-5eac-71dd-8398-4721c9eec202\",\n            \"name\": \"الرياض\"\n        },\n        \"district\": {\n            \"id\": \"01a17208-5eb1-7088-9b03-131b0cd7cdc9\",\n            \"name\": \"الياسمين\"\n        },\n        \"address_line\": \"شارع الأمير سلطان\",\n        \"details\": \"الدور الأول\",\n        \"lat\": 24.713552,\n        \"lng\": 46.675296,\n        \"is_default\": true,\n        \"formatted\": \"الرياض، الياسمين، شارع الأمير سلطان، الدور الأول\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 First service address becomes default",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "First service address becomes default",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-53b7-7259-9b79-30e9ba319b24",
                                                        "district_id": "01a17208-53bc-70bf-ac81-30112b47c829",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": 24.713552,
                                                        "lng": 46.675296
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_crud_persists_schema_fields_and_soft_deletes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-53b7-7259-9b79-30e9ba319b24\",\n    \"district_id\": \"01a17208-53bc-70bf-ac81-30112b47c829\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-53cd-711c-a39f-6f14eca70e6b\",\n        \"label\": \"Home\",\n        \"label_type\": {\n            \"value\": \"home\",\n            \"label\": \"Home\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-53b7-7259-9b79-30e9ba319b24\",\n            \"name\": \"Riyadh\"\n        },\n        \"district\": {\n            \"id\": \"01a17208-53bc-70bf-ac81-30112b47c829\",\n            \"name\": \"Al Yasmin\"\n        },\n        \"address_line\": \"Prince Sultan Street, Villa 12\",\n        \"details\": \"First floor\",\n        \"lat\": 24.713552,\n        \"lng\": 46.675296,\n        \"is_default\": true,\n        \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Minimal address uses schema label type default",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Minimal address uses schema label type default",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "city_id": "01a17208-5c0c-71c3-8fd0-88cfb0736d82",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "customer_id": 1213,
                                                        "is_default": false,
                                                        "deleted_at": "2026-10-25T07:48:32+00:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_optional_fields_and_partial_updates_preserve_saved_values"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"city_id\": \"01a17208-5c0c-71c3-8fd0-88cfb0736d82\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"customer_id\": 1213,\n    \"is_default\": false,\n    \"deleted_at\": \"2026-10-25T07:48:32+00:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-5c24-716c-af99-a6c6b3de4e73\",\n        \"label\": \"Home\",\n        \"label_type\": {\n            \"value\": \"other\",\n            \"label\": \"Other\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-5c0c-71c3-8fd0-88cfb0736d82\",\n            \"name\": \"Riyadh\"\n        },\n        \"district\": null,\n        \"address_line\": \"Prince Sultan Street, Villa 12\",\n        \"details\": null,\n        \"lat\": null,\n        \"lng\": null,\n        \"is_default\": true,\n        \"formatted\": \"Riyadh، Prince Sultan Street, Villa 12\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Guest must sign in",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Guest must sign in",
                                                "code": 401,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_id\": \"{{region_id}}\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer account is inactive",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Customer account is inactive",
                                                "code": 403,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_disabled_customer_returns_403_account_inactive"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account is inactive. Contact support.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"e6c90b3c-98cb-4e83-b5e9-1ab5e71aef8c\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer app token and profile required",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Customer app token and profile required",
                                                "code": 403,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"d340b857-c780-4b15-9272-a16a7c20be18\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_id\": \"{{region_id}}\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 District belongs to another city",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "District belongs to another city",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5717-735a-b7a9-e758b9c65a16",
                                                        "district_id": "01a17208-5713-7270-ad84-640c3d1d81ce",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": 24.713552,
                                                        "lng": 46.675296
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_district_of_another_city_returns_422_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5717-735a-b7a9-e758b9c65a16\",\n    \"district_id\": \"01a17208-5713-7270-ad84-640c3d1d81ce\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district does not belong to this city.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"The selected district does not belong to this city.\"\n            ]\n        },\n        \"correlation_id\": \"c2256845-93a5-47c0-ada1-ac70764703e4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive city is unavailable",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Inactive city is unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-554d-7096-9551-1be083f4fc6e",
                                                        "district_id": "01a17208-5553-701d-819b-de462c6fa1d3",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": 24.713552,
                                                        "lng": 46.675296
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_inactive_city_or_district_returns_422_service_area_unavailable"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-554d-7096-9551-1be083f4fc6e\",\n    \"district_id\": \"01a17208-5553-701d-819b-de462c6fa1d3\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"52e94d1e-3777-499f-a224-d438b8de6604\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive district is unavailable",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Inactive district is unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5591-7245-ac85-27f9b32e015a",
                                                        "district_id": "01a17208-5598-725e-ad8d-47b981692f09",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": 24.713552,
                                                        "lng": 46.675296
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_inactive_city_or_district_returns_422_service_area_unavailable"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5591-7245-ac85-27f9b32e015a\",\n    \"district_id\": \"01a17208-5598-725e-ad8d-47b981692f09\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"e9f928af-dd65-43a2-bb64-b7ab8ebfff23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: integer city",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: integer city",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": 1,
                                                        "district_id": "01a17208-58e5-738b-9e51-77e8e36759a4",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": 1,\n    \"district_id\": \"01a17208-58e5-738b-9e51-77e8e36759a4\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The city id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The city id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: integer district",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: integer district",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5974-7111-bc1b-6be0efa3a9a4",
                                                        "district_id": 1,
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5974-7111-bc1b-6be0efa3a9a4\",\n    \"district_id\": 1,\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The district id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"district_id\": [\n                \"The district id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: latitude out of range",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: latitude out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5a1a-7144-8d4f-26ee560e1281",
                                                        "district_id": "01a17208-5a21-72ec-81f9-37132c37466d",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": 91,
                                                        "lng": 40
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5a1a-7144-8d4f-26ee560e1281\",\n    \"district_id\": \"01a17208-5a21-72ec-81f9-37132c37466d\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 91,\n    \"lng\": 40\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be between -90 and 90.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be between -90 and 90.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: long address",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: long address",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5848-7003-aba8-ecc8eb97ae23",
                                                        "district_id": "01a17208-584f-711a-9512-f60ccd043fc4",
                                                        "address_line": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                                                        "details": "First floor"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5848-7003-aba8-ecc8eb97ae23\",\n    \"district_id\": \"01a17208-584f-711a-9512-f60ccd043fc4\",\n    \"address_line\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n    \"details\": \"First floor\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The address line field must not be greater than 255 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"address_line\": [\n                \"The address line field must not be greater than 255 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: long details",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: long details",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5897-73ae-af08-68c6316fc58c",
                                                        "district_id": "01a17208-58a1-7013-8104-06c6c6a83099",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5897-73ae-af08-68c6316fc58c\",\n    \"district_id\": \"01a17208-58a1-7013-8104-06c6c6a83099\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The details field must not be greater than 255 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"details\": [\n                \"The details field must not be greater than 255 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: long label",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: long label",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-578c-71e1-b09d-8e736e739458",
                                                        "district_id": "01a17208-5792-7234-87fd-e95e0df02e12",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-578c-71e1-b09d-8e736e739458\",\n    \"district_id\": \"01a17208-5792-7234-87fd-e95e0df02e12\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The label field must not be greater than 60 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"label\": [\n                \"The label field must not be greater than 60 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: longitude out of range",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: longitude out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5a59-73d0-b114-73f7e4b0c6e5",
                                                        "district_id": "01a17208-5a5e-71cf-8a1e-b51be53b963c",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": 24,
                                                        "lng": -181
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5a59-73d0-b114-73f7e4b0c6e5\",\n    \"district_id\": \"01a17208-5a5e-71cf-8a1e-b51be53b963c\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24,\n    \"lng\": -181\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lng field must be between -180 and 180.\",\n    \"data\": {\n        \"errors\": {\n            \"lng\": [\n                \"The lng field must be between -180 and 180.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: missing latitude",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: missing latitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5afd-707f-ae5a-61ba069d8adc",
                                                        "district_id": "01a17208-5b03-716e-a4f5-48b6e26084cd",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lng": 46
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5afd-707f-ae5a-61ba069d8adc\",\n    \"district_id\": \"01a17208-5b03-716e-a4f5-48b6e26084cd\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lng\": 46\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be present when lng is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be present when lng is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: missing longitude",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: missing longitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5abc-7114-b514-b339615ca5d5",
                                                        "district_id": "01a17208-5ac2-70e0-8081-33b43c9130a5",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": 24
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5abc-7114-b514-b339615ca5d5\",\n    \"district_id\": \"01a17208-5ac2-70e0-8081-33b43c9130a5\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lng field must be present when lat is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lng\": [\n                \"The lng field must be present when lat is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: mixed null pair",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: mixed null pair",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5b37-7358-9168-2ace937a81d2",
                                                        "district_id": "01a17208-5b3f-7288-a7a1-bf3dd7c276af",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": null,
                                                        "lng": 46
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5b37-7358-9168-2ace937a81d2\",\n    \"district_id\": \"01a17208-5b3f-7288-a7a1-bf3dd7c276af\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": null,\n    \"lng\": 46\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field is required when lng is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field is required when lng is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: non-numeric coordinates",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: non-numeric coordinates",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5a8a-7108-bdd4-b731bfad069e",
                                                        "district_id": "01a17208-5a8f-701d-bd30-8bea8639de11",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": "north",
                                                        "lng": "east"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5a8a-7108-bdd4-b731bfad069e\",\n    \"district_id\": \"01a17208-5a8f-701d-bd30-8bea8639de11\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": \"north\",\n    \"lng\": \"east\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be a number. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be a number.\"\n            ],\n            \"lng\": [\n                \"The lng field must be a number.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: null label",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: null label",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": null,
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5814-7014-a636-67370492ab02",
                                                        "district_id": "01a17208-5819-71bb-ba54-99c6b25b3ad2",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": null,\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5814-7014-a636-67370492ab02\",\n    \"district_id\": \"01a17208-5819-71bb-ba54-99c6b25b3ad2\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The label field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"label\": [\n                \"The label field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: single null latitude",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: single null latitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5bb1-701f-8329-0fdd54d92211",
                                                        "district_id": "01a17208-5bb8-7381-958f-4730ea8088fb",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lat": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5bb1-701f-8329-0fdd54d92211\",\n    \"district_id\": \"01a17208-5bb8-7381-958f-4730ea8088fb\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lng field must be present when lat is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lng\": [\n                \"The lng field must be present when lat is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: single null longitude",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: single null longitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-5b72-72dd-bc7d-5ac9d7268d33",
                                                        "district_id": "01a17208-5b78-70e0-89d0-f0d0a1c76926",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor",
                                                        "lng": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-5b72-72dd-bc7d-5ac9d7268d33\",\n    \"district_id\": \"01a17208-5b78-70e0-89d0-f0d0a1c76926\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lng\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be present when lng is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be present when lng is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: unknown city UUID",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: unknown city UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01900000-0000-7000-8000-000000000001",
                                                        "district_id": "01a17208-592a-7205-a3e0-3876b0860b35",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01900000-0000-7000-8000-000000000001\",\n    \"district_id\": \"01a17208-592a-7205-a3e0-3876b0860b35\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected city id is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The selected city id is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: unknown district UUID",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: unknown district UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "home",
                                                        "city_id": "01a17208-59c1-72e3-a158-4c3ecd37d10c",
                                                        "district_id": "01900000-0000-7000-8000-000000000001",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"01a17208-59c1-72e3-a158-4c3ecd37d10c\",\n    \"district_id\": \"01900000-0000-7000-8000-000000000001\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district id is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"district_id\": [\n                \"The selected district id is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: unknown label type",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Invalid request: unknown label type",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Home",
                                                        "label_type": "palace",
                                                        "city_id": "01a17208-57d2-719b-ac03-c9620a0b9306",
                                                        "district_id": "01a17208-57e5-70dc-896e-61dd4c1a0728",
                                                        "address_line": "Prince Sultan Street, Villa 12",
                                                        "details": "First floor"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"palace\",\n    \"city_id\": \"01a17208-57d2-719b-ac03-c9620a0b9306\",\n    \"district_id\": \"01a17208-57e5-70dc-896e-61dd4c1a0728\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected label type is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"label_type\": [\n                \"The selected label type is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Required address fields missing",
                                            "_joshen": {
                                                "route": "client.addresses.store",
                                                "name": "Required address fields missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_optional_fields_and_partial_updates_preserve_saved_values"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The label field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"label\": [\n                \"The label field is required.\"\n            ],\n            \"city_id\": [\n                \"The city id field is required.\"\n            ],\n            \"address_line\": [\n                \"The address line field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "address_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"address_id\",\"Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"address_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "addresses",
                                                ":address"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "address",
                                                    "value": "{{address_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.addresses.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{address_id}}` — Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `address_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Saved service address\n- `401` Guest must sign in — `error_code: UNAUTHENTICATED`\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Customer account is inactive — `error_code: ACCOUNT_INACTIVE`\n- `403` Customer app token and profile required — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Address missing deleted or not owned — `error_code: ENTITY_NOT_FOUND`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-53cd-711c-a39f-6f14eca70e6b\",\n        \"label\": \"Home\",\n        \"label_type\": {\n            \"value\": \"home\",\n            \"label\": \"Home\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-53b7-7259-9b79-30e9ba319b24\",\n            \"name\": \"Riyadh\"\n        },\n        \"district\": {\n            \"id\": \"01a17208-53bc-70bf-ac81-30112b47c829\",\n            \"name\": \"Al Yasmin\"\n        },\n        \"address_line\": \"Prince Sultan Street, Villa 12\",\n        \"details\": \"First floor\",\n        \"lat\": 24.713552,\n        \"lng\": 46.675296,\n        \"is_default\": true,\n        \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Saved service address",
                                            "_joshen": {
                                                "route": "client.addresses.show",
                                                "name": "Saved service address",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-53cd-711c-a39f-6f14eca70e6b",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_crud_persists_schema_fields_and_soft_deletes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-53cd-711c-a39f-6f14eca70e6b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-53cd-711c-a39f-6f14eca70e6b"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-53cd-711c-a39f-6f14eca70e6b\",\n        \"label\": \"Home\",\n        \"label_type\": {\n            \"value\": \"home\",\n            \"label\": \"Home\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-53b7-7259-9b79-30e9ba319b24\",\n            \"name\": \"Riyadh\"\n        },\n        \"district\": {\n            \"id\": \"01a17208-53bc-70bf-ac81-30112b47c829\",\n            \"name\": \"Al Yasmin\"\n        },\n        \"address_line\": \"Prince Sultan Street, Villa 12\",\n        \"details\": \"First floor\",\n        \"lat\": 24.713552,\n        \"lng\": 46.675296,\n        \"is_default\": true,\n        \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Guest must sign in",
                                            "_joshen": {
                                                "route": "client.addresses.show",
                                                "name": "Guest must sign in",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5d97-710f-a194-47ca5ad9a70c"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        ":address"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "address",
                                                            "value": "{{address_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer account is inactive",
                                            "_joshen": {
                                                "route": "client.addresses.show",
                                                "name": "Customer account is inactive",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5e21-7268-a6fc-bda5de7c1066",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_disabled_customer_returns_403_account_inactive"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5e21-7268-a6fc-bda5de7c1066",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5e21-7268-a6fc-bda5de7c1066"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account is inactive. Contact support.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"81c5be7d-29a7-4b6a-b52c-4a3acc957f09\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer app token and profile required",
                                            "_joshen": {
                                                "route": "client.addresses.show",
                                                "name": "Customer app token and profile required",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5d97-710f-a194-47ca5ad9a70c"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"1879c1f9-c2bf-40b2-9ad7-298a565ae958\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        ":address"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "address",
                                                            "value": "{{address_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Address missing deleted or not owned",
                                            "_joshen": {
                                                "route": "client.addresses.show",
                                                "name": "Address missing deleted or not owned",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/invalid-uuid",
                                                    "query": {
                                                        "label": null
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_foreign_deleted_missing_and_integer_addresses_return_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/invalid-uuid?",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "invalid-uuid"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "",
                                                            "value": ""
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Address not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"a0697f7b-8864-41b1-b4b9-86bf76cb444b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "address_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "address_id",
                                                "set_by": [
                                                    "client.addresses.index",
                                                    "client.addresses.store",
                                                    "client.addresses.show",
                                                    "client.addresses.update"
                                                ],
                                                "how": "Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"address_id\",\"Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"address_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "addresses",
                                                ":address"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "address",
                                                    "value": "{{address_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.addresses.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `label`\n- **Description:** Customer-visible name of this saved service address (CUST-004).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Home`\n- **Validation rules:** `sometimes|sometimes|string|max:60`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:60` — must not exceed 60.\n### `label_type`\n- **Description:** Icon/label category; defaults to other when omitted on create (schema).\n- **Type:** `string (enum)`\n- **Allowed values:** `home`, `work`, `other`\n- **Required:** optional\n- **Example:** `home`\n- **Validation rules:** `sometimes|sometimes|in:\"home\",\"work\",\"other\"`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `in:\"home\",\"work\",\"other\"` — must be one of: \"home\", \"work\", \"other\".\n### `city_id`\n- **Description:** BRD city UUID from governorates; must be an active service area (BR-08).\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `sometimes|sometimes|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `district_id`\n- **Description:** Optional BRD district UUID from regions, active and belonging to city_id (TD-69).\n- **Type:** `string (uuid)`\n- **Refers to:** a `regions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{region_id}}`\n- **Validation rules:** `nullable|uuid|exists:regions,uuid`\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:regions,uuid` — must reference an existing record (regions, uuid).\n### `address_line`\n- **Description:** Street/building part of the service location.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Prince Sultan Street, Villa 12`\n- **Validation rules:** `sometimes|sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `details`\n- **Description:** Optional floor/unit or arrival instructions; null clears it on PUT.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `First floor`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `lat`\n- **Description:** Map latitude; send with lng, both numbers or both null to clear (TD-69).\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `24.713552`\n- **Validation rules:** `nullable|present_with:lng|required_with:lng|numeric|between:-90,90`\n- `nullable` — may be null.\n- `present_with:lng` — custom validation rule.\n- `required_with:lng` — required when lng is present.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Map longitude paired with lat; omitted pair preserves saved coordinates on PUT.\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `46.675296`\n- **Validation rules:** `nullable|present_with:lat|required_with:lat|numeric|between:-180,180`\n- `nullable` — may be null.\n- `present_with:lat` — custom validation rule.\n- `required_with:lat` — required when lat is present.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n\n**Variables:**\n- Uses `{{address_id}}` — Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n- Saves `address_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Address updated and optional fields cleared\n- `401` Guest must sign in — `error_code: UNAUTHENTICATED`\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Customer account is inactive — `error_code: ACCOUNT_INACTIVE`\n- `403` Customer app token and profile required — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Address missing deleted or not owned — `error_code: ENTITY_NOT_FOUND`\n- `422` Arabic service area unavailable alert — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Inactive city is unavailable — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Inactive district is unavailable — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Invalid request: integer city\n- `422` Invalid request: integer district\n- `422` Invalid request: latitude out of range\n- `422` Invalid request: long address\n- `422` Invalid request: long details\n- `422` Invalid request: long label\n- `422` Invalid request: longitude out of range\n- `422` Invalid request: missing latitude\n- `422` Invalid request: missing longitude\n- `422` Invalid request: mixed null pair\n- `422` Invalid request: non-numeric coordinates\n- `422` Invalid request: null label\n- `422` Invalid request: single null latitude\n- `422` Invalid request: single null longitude\n- `422` Invalid request: unknown city UUID\n- `422` Invalid request: unknown district UUID\n- `422` Invalid request: unknown label type\n- `422` Retained district belongs to previous city — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-53cd-711c-a39f-6f14eca70e6b\",\n        \"label\": \"Office\",\n        \"label_type\": {\n            \"value\": \"work\",\n            \"label\": \"Work\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-53b7-7259-9b79-30e9ba319b24\",\n            \"name\": \"Riyadh\"\n        },\n        \"district\": null,\n        \"address_line\": \"Building 5\",\n        \"details\": null,\n        \"lat\": null,\n        \"lng\": null,\n        \"is_default\": true,\n        \"formatted\": \"Riyadh، Building 5\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_id\": \"{{region_id}}\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Address updated and optional fields cleared",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Address updated and optional fields cleared",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-53cd-711c-a39f-6f14eca70e6b",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Office",
                                                        "label_type": "work",
                                                        "address_line": "Building 5",
                                                        "district_id": null,
                                                        "details": null,
                                                        "lat": null,
                                                        "lng": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_crud_persists_schema_fields_and_soft_deletes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-53cd-711c-a39f-6f14eca70e6b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-53cd-711c-a39f-6f14eca70e6b"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Office\",\n    \"label_type\": \"work\",\n    \"address_line\": \"Building 5\",\n    \"district_id\": null,\n    \"details\": null,\n    \"lat\": null,\n    \"lng\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-53cd-711c-a39f-6f14eca70e6b\",\n        \"label\": \"Office\",\n        \"label_type\": {\n            \"value\": \"work\",\n            \"label\": \"Work\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-53b7-7259-9b79-30e9ba319b24\",\n            \"name\": \"Riyadh\"\n        },\n        \"district\": null,\n        \"address_line\": \"Building 5\",\n        \"details\": null,\n        \"lat\": null,\n        \"lng\": null,\n        \"is_default\": true,\n        \"formatted\": \"Riyadh، Building 5\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Guest must sign in",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Guest must sign in",
                                                "code": 401,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5d97-710f-a194-47ca5ad9a70c"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        ":address"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "address",
                                                            "value": "{{address_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_id\": \"{{region_id}}\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer account is inactive",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Customer account is inactive",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5e21-7268-a6fc-bda5de7c1066",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_disabled_customer_returns_403_account_inactive"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5e21-7268-a6fc-bda5de7c1066",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5e21-7268-a6fc-bda5de7c1066"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account is inactive. Contact support.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"7423fbc8-23e4-41c1-b1e2-c374b4bf13d9\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer app token and profile required",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Customer app token and profile required",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5d97-710f-a194-47ca5ad9a70c"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"c30f90a6-1af1-429c-a912-ba9e9bd0f90e\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        ":address"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "address",
                                                            "value": "{{address_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Home\",\n    \"label_type\": \"home\",\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_id\": \"{{region_id}}\",\n    \"address_line\": \"Prince Sultan Street, Villa 12\",\n    \"details\": \"First floor\",\n    \"lat\": 24.713552,\n    \"lng\": 46.675296\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Address missing deleted or not owned",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Address missing deleted or not owned",
                                                "code": 404,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/invalid-uuid",
                                                    "query": null,
                                                    "body": {
                                                        "label": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_foreign_deleted_missing_and_integer_addresses_return_404"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/invalid-uuid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "invalid-uuid"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Address not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"3574b443-fb2c-41c3-98ec-1da2949060cd\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Arabic service area unavailable alert",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Arabic service area unavailable alert",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "ar",
                                                    "path": "api/v1/client/addresses/01a17208-5ebf-72e5-875a-d3f08d0b6374",
                                                    "query": null,
                                                    "body": {
                                                        "details": "تفاصيل"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_arabic_formatted_address_and_unavailability_alert"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5ebf-72e5-875a-d3f08d0b6374",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5ebf-72e5-875a-d3f08d0b6374"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"details\": \"تفاصيل\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الخدمة غير متاحة في هذه المدينة أو الحي. يرجى اختيار منطقة خدمة أخرى.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"bb9b14af-1721-4c24-8773-d11b79c90308\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive city is unavailable",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Inactive city is unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-55f3-71dd-bc9f-3921efe0b046",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Edited"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_inactive_city_or_district_returns_422_service_area_unavailable"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-55f3-71dd-bc9f-3921efe0b046",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-55f3-71dd-bc9f-3921efe0b046"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Edited\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"c4aff47c-0533-49c7-a8a4-b5be95225ee0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive district is unavailable",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Inactive district is unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-564a-7315-8d19-93ba5e82810e",
                                                    "query": null,
                                                    "body": {
                                                        "label": "Edited"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_inactive_city_or_district_returns_422_service_area_unavailable"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-564a-7315-8d19-93ba5e82810e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-564a-7315-8d19-93ba5e82810e"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"Edited\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"587aa945-4657-45a9-b89f-0db157bfc080\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: integer city",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: integer city",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-58f0-73a1-98a7-0aed7215dae4",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": 1
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-58f0-73a1-98a7-0aed7215dae4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-58f0-73a1-98a7-0aed7215dae4"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": 1\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The city id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The city id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: integer district",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: integer district",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5990-726c-bb5b-1f7e76124f3f",
                                                    "query": null,
                                                    "body": {
                                                        "district_id": 1
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5990-726c-bb5b-1f7e76124f3f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5990-726c-bb5b-1f7e76124f3f"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"district_id\": 1\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The district id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"district_id\": [\n                \"The district id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: latitude out of range",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: latitude out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5a30-712b-8823-5ace8ea36aee",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 91,
                                                        "lng": 40
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5a30-712b-8823-5ace8ea36aee",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5a30-712b-8823-5ace8ea36aee"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 91,\n    \"lng\": 40\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be between -90 and 90.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be between -90 and 90.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: long address",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: long address",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-585d-73a2-8472-bb1f4832009d",
                                                    "query": null,
                                                    "body": {
                                                        "address_line": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-585d-73a2-8472-bb1f4832009d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-585d-73a2-8472-bb1f4832009d"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_line\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The address line field must not be greater than 255 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"address_line\": [\n                \"The address line field must not be greater than 255 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: long details",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: long details",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-58b2-71a7-97d5-a1ec00c64cb0",
                                                    "query": null,
                                                    "body": {
                                                        "details": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-58b2-71a7-97d5-a1ec00c64cb0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-58b2-71a7-97d5-a1ec00c64cb0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"details\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The details field must not be greater than 255 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"details\": [\n                \"The details field must not be greater than 255 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: long label",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: long label",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-57a3-720d-89a2-96bae06b4d8c",
                                                    "query": null,
                                                    "body": {
                                                        "label": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-57a3-720d-89a2-96bae06b4d8c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-57a3-720d-89a2-96bae06b4d8c"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The label field must not be greater than 60 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"label\": [\n                \"The label field must not be greater than 60 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: longitude out of range",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: longitude out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5a68-71fa-b1df-80fc66ce0bc8",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 24,
                                                        "lng": -181
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5a68-71fa-b1df-80fc66ce0bc8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5a68-71fa-b1df-80fc66ce0bc8"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24,\n    \"lng\": -181\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lng field must be between -180 and 180.\",\n    \"data\": {\n        \"errors\": {\n            \"lng\": [\n                \"The lng field must be between -180 and 180.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: missing latitude",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: missing latitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5b0f-72b0-b032-1f9263a4eda8",
                                                    "query": null,
                                                    "body": {
                                                        "lng": 46
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5b0f-72b0-b032-1f9263a4eda8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5b0f-72b0-b032-1f9263a4eda8"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lng\": 46\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be present when lng is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be present when lng is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: missing longitude",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: missing longitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5acf-715c-908d-70cfee0f6555",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 24
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5acf-715c-908d-70cfee0f6555",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5acf-715c-908d-70cfee0f6555"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lng field must be present when lat is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lng\": [\n                \"The lng field must be present when lat is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: mixed null pair",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: mixed null pair",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5b4b-72eb-92a6-9c5288fe838a",
                                                    "query": null,
                                                    "body": {
                                                        "lat": null,
                                                        "lng": 46
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5b4b-72eb-92a6-9c5288fe838a",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5b4b-72eb-92a6-9c5288fe838a"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": null,\n    \"lng\": 46\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field is required when lng is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field is required when lng is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: non-numeric coordinates",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: non-numeric coordinates",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5a99-72f5-9455-7e45752646a7",
                                                    "query": null,
                                                    "body": {
                                                        "lat": "north",
                                                        "lng": "east"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5a99-72f5-9455-7e45752646a7",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5a99-72f5-9455-7e45752646a7"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": \"north\",\n    \"lng\": \"east\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be a number. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be a number.\"\n            ],\n            \"lng\": [\n                \"The lng field must be a number.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: null label",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: null label",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5824-70d9-a40c-51b335a62dc0",
                                                    "query": null,
                                                    "body": {
                                                        "label": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5824-70d9-a40c-51b335a62dc0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5824-70d9-a40c-51b335a62dc0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The label field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"label\": [\n                \"The label field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: single null latitude",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: single null latitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5bc3-725e-8213-6fba96904dd6",
                                                    "query": null,
                                                    "body": {
                                                        "lat": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5bc3-725e-8213-6fba96904dd6",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5bc3-725e-8213-6fba96904dd6"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lng field must be present when lat is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lng\": [\n                \"The lng field must be present when lat is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: single null longitude",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: single null longitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5b84-71e8-85b0-08a66649be8b",
                                                    "query": null,
                                                    "body": {
                                                        "lng": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5b84-71e8-85b0-08a66649be8b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5b84-71e8-85b0-08a66649be8b"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lng\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be present when lng is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be present when lng is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: unknown city UUID",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: unknown city UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5938-7070-ac72-ee233a764908",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01900000-0000-7000-8000-000000000001"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5938-7070-ac72-ee233a764908",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5938-7070-ac72-ee233a764908"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01900000-0000-7000-8000-000000000001\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected city id is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The selected city id is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: unknown district UUID",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: unknown district UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-59e0-7194-a7c5-67cfe40ddad1",
                                                    "query": null,
                                                    "body": {
                                                        "district_id": "01900000-0000-7000-8000-000000000001"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-59e0-7194-a7c5-67cfe40ddad1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-59e0-7194-a7c5-67cfe40ddad1"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"district_id\": \"01900000-0000-7000-8000-000000000001\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district id is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"district_id\": [\n                \"The selected district id is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid request: unknown label type",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Invalid request: unknown label type",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-57f0-739b-b059-85c22cac5e94",
                                                    "query": null,
                                                    "body": {
                                                        "label_type": "palace"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_invalid_create_and_update_payload_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-57f0-739b-b059-85c22cac5e94",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-57f0-739b-b059-85c22cac5e94"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label_type\": \"palace\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected label type is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"label_type\": [\n                \"The selected label type is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Retained district belongs to previous city",
                                            "_joshen": {
                                                "route": "client.addresses.update",
                                                "name": "Retained district belongs to previous city",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5733-71ca-ba2e-05e93c3b1978",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a17208-5717-735a-b7a9-e758b9c65a16"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_district_of_another_city_returns_422_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5733-71ca-ba2e-05e93c3b1978",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5733-71ca-ba2e-05e93c3b1978"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a17208-5717-735a-b7a9-e758b9c65a16\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district does not belong to this city.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"The selected district does not belong to this city.\"\n            ]\n        },\n        \"correlation_id\": \"c3e3613e-cdaa-4679-8315-14105a719309\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "address_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "address_id",
                                                "set_by": [
                                                    "client.addresses.index",
                                                    "client.addresses.store",
                                                    "client.addresses.show",
                                                    "client.addresses.update"
                                                ],
                                                "how": "Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"address_id\",\"Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "addresses",
                                                ":address"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "address",
                                                    "value": "{{address_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.addresses.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{address_id}}` — Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Delete default promotes newest saved address\n- `200` Service address soft deleted\n- `401` Guest must sign in — `error_code: UNAUTHENTICATED`\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Customer account is inactive — `error_code: ACCOUNT_INACTIVE`\n- `403` Customer app token and profile required — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Address missing deleted or not owned — `error_code: ENTITY_NOT_FOUND`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Deleted\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Delete default promotes newest saved address",
                                            "_joshen": {
                                                "route": "client.addresses.destroy",
                                                "name": "Delete default promotes newest saved address",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-54af-70e4-9799-ab08b822cfaf",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_deleting_default_promotes_newest_live_address"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-54af-70e4-9799-ab08b822cfaf",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-54af-70e4-9799-ab08b822cfaf"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Deleted\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "200 Service address soft deleted",
                                            "_joshen": {
                                                "route": "client.addresses.destroy",
                                                "name": "Service address soft deleted",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-53cd-711c-a39f-6f14eca70e6b",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_crud_persists_schema_fields_and_soft_deletes"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-53cd-711c-a39f-6f14eca70e6b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-53cd-711c-a39f-6f14eca70e6b"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Deleted\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Guest must sign in",
                                            "_joshen": {
                                                "route": "client.addresses.destroy",
                                                "name": "Guest must sign in",
                                                "code": 401,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5d97-710f-a194-47ca5ad9a70c"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        ":address"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "address",
                                                            "value": "{{address_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer account is inactive",
                                            "_joshen": {
                                                "route": "client.addresses.destroy",
                                                "name": "Customer account is inactive",
                                                "code": 403,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5e21-7268-a6fc-bda5de7c1066",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_disabled_customer_returns_403_account_inactive"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5e21-7268-a6fc-bda5de7c1066",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5e21-7268-a6fc-bda5de7c1066"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account is inactive. Contact support.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"23e5908c-de0a-4a6d-8542-eea12d73cf4c\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer app token and profile required",
                                            "_joshen": {
                                                "route": "client.addresses.destroy",
                                                "name": "Customer app token and profile required",
                                                "code": 403,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5d97-710f-a194-47ca5ad9a70c"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"6cbcd159-6bfa-4bf0-96ea-3e4c730c0cdc\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/:address",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        ":address"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "address",
                                                            "value": "{{address_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Address missing deleted or not owned",
                                            "_joshen": {
                                                "route": "client.addresses.destroy",
                                                "name": "Address missing deleted or not owned",
                                                "code": 404,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/invalid-uuid",
                                                    "query": null,
                                                    "body": {
                                                        "label": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_foreign_deleted_missing_and_integer_addresses_return_404"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/invalid-uuid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "invalid-uuid"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Address not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"919f1eb6-d9a6-403d-844a-877ae99abcae\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "address_id",
                                                "set_by": [
                                                    "client.addresses.index",
                                                    "client.addresses.store",
                                                    "client.addresses.show",
                                                    "client.addresses.update"
                                                ],
                                                "how": "Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Default",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"address_id\",\"Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/addresses/:address/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "addresses",
                                                ":address",
                                                "default"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "address",
                                                    "value": "{{address_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.addresses.default`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{address_id}}` — Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Default address switched\n- `401` Guest must sign in — `error_code: UNAUTHENTICATED`\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Customer account is inactive — `error_code: ACCOUNT_INACTIVE`\n- `403` Customer app token and profile required — `error_code: PERMISSION_DENIED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Address missing deleted or not owned — `error_code: ENTITY_NOT_FOUND`\n- `422` Inactive city is unavailable — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Inactive district is unavailable — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Saved district belongs to another city — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-543c-734d-80ff-e66038280292\",\n        \"label\": \"Work\",\n        \"label_type\": {\n            \"value\": \"home\",\n            \"label\": \"Home\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-542e-7284-9793-50b975e8e1d7\",\n            \"name\": \"Riyadh\"\n        },\n        \"district\": {\n            \"id\": \"01a17208-5432-72cc-8018-fc070c42a451\",\n            \"name\": \"Al Yasmin\"\n        },\n        \"address_line\": \"Prince Sultan Street, Villa 12\",\n        \"details\": \"First floor\",\n        \"lat\": 24.713552,\n        \"lng\": 46.675296,\n        \"is_default\": true,\n        \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Default address switched",
                                            "_joshen": {
                                                "route": "client.addresses.default",
                                                "name": "Default address switched",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-543c-734d-80ff-e66038280292/default",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_switch_default_preserves_other_customers_and_orders_the_list"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-543c-734d-80ff-e66038280292/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-543c-734d-80ff-e66038280292",
                                                        "default"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-543c-734d-80ff-e66038280292\",\n        \"label\": \"Work\",\n        \"label_type\": {\n            \"value\": \"home\",\n            \"label\": \"Home\"\n        },\n        \"city\": {\n            \"id\": \"01a17208-542e-7284-9793-50b975e8e1d7\",\n            \"name\": \"Riyadh\"\n        },\n        \"district\": {\n            \"id\": \"01a17208-5432-72cc-8018-fc070c42a451\",\n            \"name\": \"Al Yasmin\"\n        },\n        \"address_line\": \"Prince Sultan Street, Villa 12\",\n        \"details\": \"First floor\",\n        \"lat\": 24.713552,\n        \"lng\": 46.675296,\n        \"is_default\": true,\n        \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street, Villa 12، First floor\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Guest must sign in",
                                            "_joshen": {
                                                "route": "client.addresses.default",
                                                "name": "Guest must sign in",
                                                "code": 401,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c/default",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                        "default"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/:address/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        ":address",
                                                        "default"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "address",
                                                            "value": "{{address_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer account is inactive",
                                            "_joshen": {
                                                "route": "client.addresses.default",
                                                "name": "Customer account is inactive",
                                                "code": 403,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5e21-7268-a6fc-bda5de7c1066/default",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_disabled_customer_returns_403_account_inactive"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5e21-7268-a6fc-bda5de7c1066/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5e21-7268-a6fc-bda5de7c1066",
                                                        "default"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account is inactive. Contact support.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"ed004a0b-e94f-4d14-aa3f-d49fc3d7ecec\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Customer app token and profile required",
                                            "_joshen": {
                                                "route": "client.addresses.default",
                                                "name": "Customer app token and profile required",
                                                "code": 403,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c/default",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_provider_driver_tokens_return_403_and_guest_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5d97-710f-a194-47ca5ad9a70c/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5d97-710f-a194-47ca5ad9a70c",
                                                        "default"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"b2f5442f-2e05-4f27-a211-eeb01d950809\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/:address/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        ":address",
                                                        "default"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "address",
                                                            "value": "{{address_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Address missing deleted or not owned",
                                            "_joshen": {
                                                "route": "client.addresses.default",
                                                "name": "Address missing deleted or not owned",
                                                "code": 404,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/invalid-uuid/default",
                                                    "query": null,
                                                    "body": {
                                                        "label": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_foreign_deleted_missing_and_integer_addresses_return_404"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/invalid-uuid/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "invalid-uuid",
                                                        "default"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"label\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Address not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"c4c1b67c-4c38-4ebb-a39d-9f1730b80cf6\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive city is unavailable",
                                            "_joshen": {
                                                "route": "client.addresses.default",
                                                "name": "Inactive city is unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5691-7273-9c68-6b9881792e5c/default",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_inactive_city_or_district_returns_422_service_area_unavailable"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5691-7273-9c68-6b9881792e5c/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5691-7273-9c68-6b9881792e5c",
                                                        "default"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"38419e48-c6e7-4d54-abda-93395ea143bf\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive district is unavailable",
                                            "_joshen": {
                                                "route": "client.addresses.default",
                                                "name": "Inactive district is unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-56d7-73e4-9161-c8d88c9ffc7f/default",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_inactive_city_or_district_returns_422_service_area_unavailable"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-56d7-73e4-9161-c8d88c9ffc7f/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-56d7-73e4-9161-c8d88c9ffc7f",
                                                        "default"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"31b51763-3107-46fc-bc6e-7b6b6b327e7c\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Saved district belongs to another city",
                                            "_joshen": {
                                                "route": "client.addresses.default",
                                                "name": "Saved district belongs to another city",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/client/addresses/01a17208-5746-702f-8c3a-87cf1ea0439a/default",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAddressControllerTest::test_ac_cust_004_district_of_another_city_returns_422_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/addresses/01a17208-5746-702f-8c3a-87cf1ea0439a/default",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "addresses",
                                                        "01a17208-5746-702f-8c3a-87cf1ea0439a",
                                                        "default"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district does not belong to this city.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"The selected district does not belong to this city.\"\n            ]\n        },\n        \"correlation_id\": \"b27aa5cb-6090-4a21-9f29-d1b3b7935255\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "address_id",
                                                "set_by": [
                                                    "client.addresses.index",
                                                    "client.addresses.store",
                                                    "client.addresses.show",
                                                    "client.addresses.update"
                                                ],
                                                "how": "Saved by GET /api/v1/client/addresses, POST /api/v1/client/addresses, GET /api/v1/client/addresses/{address}, PUT /api/v1/client/addresses/{address}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Profile",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "profile"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.profile.view`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Customer profile\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1babb-fce6-714b-a24d-9218a3e25873\",\n            \"full_name\": \"Camryn Wilderman\",\n            \"phone_code\": \"966\",\n            \"phone\": \"553689592\",\n            \"email\": \"jairo.dubuque@example.com\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a1babb-fce2-7152-b113-4aac88591d77\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer profile",
                                            "_joshen": {
                                                "route": "client.profile.view",
                                                "name": "Customer profile",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAccountExamplesTest::test_ac_cust_023_profile_view"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1babb-fce6-714b-a24d-9218a3e25873\",\n            \"full_name\": \"Camryn Wilderman\",\n            \"phone_code\": \"966\",\n            \"phone\": \"553689592\",\n            \"email\": \"jairo.dubuque@example.com\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a1babb-fce2-7152-b113-4aac88591d77\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"city_id\",\"Not saved by any request; enter it by hand.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "profile"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.profile.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `full_name`\n- **Description:** Her name, shared by every app she uses (one person, one account, TD-01).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Lamar Al-Otaibi`\n- **Validation rules:** `sometimes|sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `email`\n- **Description:** Optional contact email, unique across accounts; `null` removes it. Not verified and never used to sign in (DEC-15).\n- **Type:** `string (email)`\n- **Required:** optional\n- **Example:** `lamar@example.com`\n- **Validation rules:** `sometimes|nullable|email:rfc|max:255|unique:users,email,NULL,id`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `email:rfc` — must be a valid email address.\n- `max:255` — must not exceed 255.\n- `unique:users,email,NULL,id` — must be unique (users, email, NULL, id).\n### `city_id`\n- **Description:** Her city (`governorates` = BRD city), must be an enabled service area; `null` clears it.\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{city_id}}`\n- **Validation rules:** `sometimes|nullable|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `birth_year`\n- **Description:** Optional year of birth between 1920 and this year; `null` clears it.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `1994`\n- **Validation rules:** `sometimes|nullable|integer|between:1920,2026`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `between:1920,2026` — must be between 1920, 2026.\n### `photo`\n- **Description:** Profile photo: media hash from `POST /api/v1/media` (jpg/jpeg/png/webp), uploaded by her and not used elsewhere; `null` removes it. Providers see it only after a booking is confirmed (SCR-17).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `sometimes|nullable|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `phone_code`\n- **Description:** Phone code _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `phone`\n- **Description:** Phone _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{city_id}}` — Not saved by any request; enter it by hand.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `200` Customer edits her profile\n- `200` Optional fields cleared\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` City is not an enabled service area — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Invalid profile form\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Profile updated.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1722c-6e67-71c5-9e2e-663a5be60016\",\n            \"full_name\": \"Lamar Al-Otaibi\",\n            \"phone_code\": \"966\",\n            \"phone\": \"590971699\",\n            \"email\": \"lamar@example.com\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a1722c-6e67-71c5-9e2e-663a5b3e8637\",\n            \"city\": {\n                \"id\": \"01a1722c-6e6e-71b0-98e8-7ac3a59bf341\",\n                \"name\": \"Sample-yzmj32046502\"\n            },\n            \"birth_year\": 1994,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"full_name\": \"Lamar Al-Otaibi\",\n    \"email\": \"lamar@example.com\",\n    \"city_id\": \"{{city_id}}\",\n    \"birth_year\": 1994,\n    \"photo\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer edits her profile",
                                            "_joshen": {
                                                "route": "client.profile.update",
                                                "name": "Customer edits her profile",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Lamar Al-Otaibi",
                                                        "email": "lamar@example.com",
                                                        "city_id": "01a1722c-6e6e-71b0-98e8-7ac3a59bf341",
                                                        "birth_year": 1994
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_customer_edits_her_profile_directly"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Lamar Al-Otaibi\",\n    \"email\": \"lamar@example.com\",\n    \"city_id\": \"01a1722c-6e6e-71b0-98e8-7ac3a59bf341\",\n    \"birth_year\": 1994\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Profile updated.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1722c-6e67-71c5-9e2e-663a5be60016\",\n            \"full_name\": \"Lamar Al-Otaibi\",\n            \"phone_code\": \"966\",\n            \"phone\": \"590971699\",\n            \"email\": \"lamar@example.com\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a1722c-6e67-71c5-9e2e-663a5b3e8637\",\n            \"city\": {\n                \"id\": \"01a1722c-6e6e-71b0-98e8-7ac3a59bf341\",\n                \"name\": \"Sample-yzmj32046502\"\n            },\n            \"birth_year\": 1994,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Optional fields cleared",
                                            "_joshen": {
                                                "route": "client.profile.update",
                                                "name": "Optional fields cleared",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile",
                                                    "query": null,
                                                    "body": {
                                                        "email": null,
                                                        "city_id": null,
                                                        "birth_year": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_omitted_keys_stay_and_nulls_clear"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"email\": null,\n    \"city_id\": null,\n    \"birth_year\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Profile updated.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1722c-73dc-7282-9cc5-e3072fca58ec\",\n            \"full_name\": \"Nora S.\",\n            \"phone_code\": \"966\",\n            \"phone\": \"503296654\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a1722c-73dc-7282-9cc5-e3072ed2877b\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Lamar Al-Otaibi\",\n    \"email\": \"lamar@example.com\",\n    \"city_id\": \"{{city_id}}\",\n    \"birth_year\": 1994,\n    \"photo\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Lamar Al-Otaibi\",\n    \"email\": \"lamar@example.com\",\n    \"city_id\": \"{{city_id}}\",\n    \"birth_year\": 1994,\n    \"photo\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 City is not an enabled service area",
                                            "_joshen": {
                                                "route": "client.profile.update",
                                                "name": "City is not an enabled service area",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1722c-83c5-70a1-824e-26d20ff5ea41",
                                                        "full_name": "Changed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_disabled_city_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1722c-83c5-70a1-824e-26d20ff5ea41\",\n    \"full_name\": \"Changed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This city is not available.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"27210bb0-740f-4a41-9d3b-2e05743c71cc\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid profile form",
                                            "_joshen": {
                                                "route": "client.profile.update",
                                                "name": "Invalid profile form",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "",
                                                        "email": "taken@example.com",
                                                        "city_id": "x",
                                                        "birth_year": 1800,
                                                        "phone": "512345678",
                                                        "password": "secret"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_invalid_edits_are_per_field_errors"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"\",\n    \"email\": \"taken@example.com\",\n    \"city_id\": \"x\",\n    \"birth_year\": 1800,\n    \"phone\": \"512345678\",\n    \"password\": \"secret\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Name field is required. (and 5 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"full_name\": [\n                \"The Name field is required.\"\n            ],\n            \"email\": [\n                \"The Email has already been taken.\"\n            ],\n            \"city_id\": [\n                \"The City field must be a valid UUID.\"\n            ],\n            \"birth_year\": [\n                \"The Birth year field must be between 1920 and 2026.\"\n            ],\n            \"phone\": [\n                \"The phone field is prohibited.\"\n            ],\n            \"password\": [\n                \"The password field is prohibited.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "city_id",
                                                "set_by": [],
                                                "how": "Not saved by any request; enter it by hand."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Send",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/profile/phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "profile",
                                                "phone"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.profile.phone.send`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** Calling code of the NEW number; only `+966` (`966` and `00966` are accepted and normalized).\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** required\n- **Example:** `+966`\n- **Validation rules:** `required|string|in:+966`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** NEW Saudi mobile number, 9 digits starting with 5 (`05…` is accepted and normalized). A code is sent to it; nothing changes until it is verified.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `512345678`\n- **Validation rules:** `required|string|regex:/^5[0-9]{8}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password_confirmation`\n- **Description:** Password confirmation _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` OTP sent to the new number\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Number belongs to another account — `error_code: PHONE_IN_USE`\n- `422` Invalid number\n- `422` Same number — `error_code: VALIDATION_FAILED`\n- `429` Asked again too soon — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent to the new number.\",\n    \"data\": {\n        \"verification_token\": \"01a1722c-9ba0-7161-b830-96c5f229af69\",\n        \"expires_at\": \"2026-10-25T08:38:08+00:00\",\n        \"resend_available_at\": \"2026-10-25T08:29:08+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 OTP sent to the new number",
                                            "_joshen": {
                                                "route": "client.profile.phone.send",
                                                "name": "OTP sent to the new number",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0522222222"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_mobile_changes_only_after_the_new_number_is_verified"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0522222222\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent to the new number.\",\n    \"data\": {\n        \"verification_token\": \"01a1722c-9ba0-7161-b830-96c5f229af69\",\n        \"expires_at\": \"2026-10-25T08:38:08+00:00\",\n        \"resend_available_at\": \"2026-10-25T08:29:08+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Number belongs to another account",
                                            "_joshen": {
                                                "route": "client.profile.phone.send",
                                                "name": "Number belongs to another account",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "+966",
                                                        "phone": "533333333"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_number_of_another_account_or_the_same_number_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"533333333\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This mobile number is already registered to another account.\",\n    \"data\": {\n        \"error_code\": \"PHONE_IN_USE\",\n        \"correlation_id\": \"3552fa43-0862-4f35-919c-5f9ef7e07573\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid number",
                                            "_joshen": {
                                                "route": "client.profile.phone.send",
                                                "name": "Invalid number",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "+20",
                                                        "phone": "12"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_number_of_another_account_or_the_same_number_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+20\",\n    \"phone\": \"12\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected phone code is invalid. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"phone_code\": [\n                \"The selected phone code is invalid.\"\n            ],\n            \"phone\": [\n                \"The phone field format is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Same number",
                                            "_joshen": {
                                                "route": "client.profile.phone.send",
                                                "name": "Same number",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "+966",
                                                        "phone": "511111111"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_number_of_another_account_or_the_same_number_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"511111111\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This is already your mobile number.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"fdfc5021-a37c-47e4-a6f3-d0c97397c529\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Asked again too soon",
                                            "_joshen": {
                                                "route": "client.profile.phone.send",
                                                "name": "Asked again too soon",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "+966",
                                                        "phone": "533333333"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_sending_again_inside_the_interval_is_throttled_and_resend_keeps_the_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"533333333\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Please wait before requesting another code.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\",\n        \"correlation_id\": \"4788e157-66c7-4577-a8f3-b65bff767127\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Resend",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/profile/phone/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "profile",
                                                "phone",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.profile.phone.resend`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Opaque challenge token returned by `POST /profile/phone`.\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n\n**Responses:**\n- `200` Code sent again\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Challenge token is not a uuid\n- `429` Too many codes for this number — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent to the new number.\",\n    \"data\": {\n        \"verification_token\": \"01a1722c-aac2-7202-9a78-c66bcdee411e\",\n        \"expires_at\": \"2026-10-25T08:38:12+00:00\",\n        \"resend_available_at\": \"2026-10-25T08:29:12+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Code sent again",
                                            "_joshen": {
                                                "route": "client.profile.phone.resend",
                                                "name": "Code sent again",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a1722c-aac2-7202-9a78-c66bcdee411e"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_sending_again_inside_the_interval_is_throttled_and_resend_keeps_the_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a1722c-aac2-7202-9a78-c66bcdee411e\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent to the new number.\",\n    \"data\": {\n        \"verification_token\": \"01a1722c-aac2-7202-9a78-c66bcdee411e\",\n        \"expires_at\": \"2026-10-25T08:38:12+00:00\",\n        \"resend_available_at\": \"2026-10-25T08:29:12+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Challenge token is not a uuid",
                                            "_joshen": {
                                                "route": "client.profile.phone.resend",
                                                "name": "Challenge token is not a uuid",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "not-a-uuid"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_code_requests_are_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"not-a-uuid\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The verification token field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"verification_token\": [\n                \"The verification token field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many codes for this number",
                                            "_joshen": {
                                                "route": "client.profile.phone.resend",
                                                "name": "Too many codes for this number",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a1722c-b38a-7126-b10e-5360e318d015"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_code_requests_are_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a1722c-b38a-7126-b10e-5360e318d015\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Verify",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/profile/phone/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "profile",
                                                "phone",
                                                "verify"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.profile.phone.verify`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:otp-verify`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Opaque challenge token returned by `POST /profile/phone`; only the account (and app) that asked can use it.\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n### `code`\n- **Description:** The code sent to the new number (4 digits while the fixed OTP of TD-24 applies, 6 once the SMS gateway ships — DEC-15).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `1234`\n- **Validation rules:** `required|string|regex:/^[0-9]{4}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^[0-9]{4}$/D` — must match the pattern shown.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n\n**Responses:**\n- `200` Mobile number changed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Wrong code — `error_code: INVALID_OTP`\n- `429` Too many verify requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your mobile number was changed.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1722c-9759-72fa-8050-4763333d1d14\",\n            \"full_name\": \"Mrs. Annette Glover\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"522222222\",\n            \"email\": \"graynor@example.com\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a1722c-9759-72fa-8050-4763330f427a\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"1234\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Mobile number changed",
                                            "_joshen": {
                                                "route": "client.profile.phone.verify",
                                                "name": "Mobile number changed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a1722c-9ba0-7161-b830-96c5f229af69",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_mobile_changes_only_after_the_new_number_is_verified"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a1722c-9ba0-7161-b830-96c5f229af69\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your mobile number was changed.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a1722c-9759-72fa-8050-4763333d1d14\",\n            \"full_name\": \"Mrs. Annette Glover\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"522222222\",\n            \"email\": \"graynor@example.com\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a1722c-9759-72fa-8050-4763330f427a\",\n            \"city\": null,\n            \"birth_year\": null,\n            \"onboarding_seen\": false,\n            \"wallet_balance\": \"0.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Wrong code",
                                            "_joshen": {
                                                "route": "client.profile.phone.verify",
                                                "name": "Wrong code",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a1722c-9ba0-7161-b830-96c5f229af69",
                                                        "code": "9999"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_mobile_changes_only_after_the_new_number_is_verified"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a1722c-9ba0-7161-b830-96c5f229af69\",\n    \"code\": \"9999\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The verification code is incorrect.\",\n    \"data\": {\n        \"error_code\": \"INVALID_OTP\",\n        \"correlation_id\": \"d3f6dd44-4799-414d-94f0-ddbd390e2471\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many verify requests",
                                            "_joshen": {
                                                "route": "client.profile.phone.verify",
                                                "name": "Too many verify requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/profile/phone/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a1722c-b38a-7126-b10e-5360e318d015",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\ProfileTest::test_ac_cust_023_code_requests_are_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a1722c-b38a-7126-b10e-5360e318d015\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Media",
                    "item": [
                        {
                            "name": "Upload",
                            "item": [
                                {
                                    "name": "Upload",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/upload",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "upload"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.upload`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nSend as `multipart/form-data`. Select a local file for fields marked as `file`.\n\n**Field documentation:**\n### `file`\n- **Description:** File _(no description yet)_\n- **Type:** `file`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav.\n### `type`\n- **Description:** File Type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `image`, `document`, `video`, `audio`\n- **Required:** optional\n- **Example:** `image`\n- **Validation rules:** `nullable|string|in:image,document,video,audio`\n- `nullable` — may be null.\n- `string` — must be text.\n- `in:image,document,video,audio` — must be one of: image, document, video, audio.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Response format (illustrative, not captured):**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Media uploaded successfully\",\n    \"data\": {\n        \"id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n        \"hash\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n        \"name\": \"avatar.jpg\",\n        \"file_name\": \"avatar.jpg\",\n        \"mime_type\": \"image/jpeg\",\n        \"size\": 1048576,\n        \"url\": \"http://127.0.0.1:8000/storage/media/0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55.jpg\",\n        \"collection\": \"avatars\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "file",
                                                    "type": "file",
                                                    "src": "",
                                                    "description": "### `file`\n- **Description:** File _(no description yet)_\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                                },
                                                {
                                                    "key": "type",
                                                    "type": "text",
                                                    "src": "image",
                                                    "description": "### `type`\n- **Description:** Type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `image`, `document`, `video`, `audio`\n- **Required:** optional\n- **Example:** `image`\n- **Validation rules:** `nullable|string|in:image,document,video,audio`\n- `nullable` — may be null.\n- `string` — must be text.\n- `in:image,document,video,audio` — must be one of: image, document, video, audio."
                                                }
                                            ]
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Created (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/upload",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "upload"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "formdata",
                                                    "formdata": [
                                                        {
                                                            "key": "file",
                                                            "type": "file",
                                                            "src": "",
                                                            "description": "### `file`\n- **Description:** File _(no description yet)_\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                                        },
                                                        {
                                                            "key": "type",
                                                            "type": "text",
                                                            "src": "image",
                                                            "description": "### `type`\n- **Description:** Type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `image`, `document`, `video`, `audio`\n- **Required:** optional\n- **Example:** `image`\n- **Validation rules:** `nullable|string|in:image,document,video,audio`\n- `nullable` — may be null.\n- `string` — must be text.\n- `in:image,document,video,audio` — must be one of: image, document, video, audio."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Media uploaded successfully\",\n    \"data\": {\n        \"id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n        \"hash\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n        \"name\": \"avatar.jpg\",\n        \"file_name\": \"avatar.jpg\",\n        \"mime_type\": \"image/jpeg\",\n        \"size\": 1048576,\n        \"url\": \"http://127.0.0.1:8000/storage/media/0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55.jpg\",\n        \"collection\": \"avatars\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/upload",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "upload"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "formdata",
                                                    "formdata": [
                                                        {
                                                            "key": "file",
                                                            "type": "file",
                                                            "src": "",
                                                            "description": "### `file`\n- **Description:** File _(no description yet)_\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                                        },
                                                        {
                                                            "key": "type",
                                                            "type": "text",
                                                            "src": "image",
                                                            "description": "### `type`\n- **Description:** Type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `image`, `document`, `video`, `audio`\n- **Required:** optional\n- **Example:** `image`\n- **Validation rules:** `nullable|string|in:image,document,video,audio`\n- `nullable` — may be null.\n- `string` — must be text.\n- `in:image,document,video,audio` — must be one of: image, document, video, audio."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/upload",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "upload"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "formdata",
                                                    "formdata": [
                                                        {
                                                            "key": "file",
                                                            "type": "file",
                                                            "src": "",
                                                            "description": "### `file`\n- **Description:** File _(no description yet)_\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                                        },
                                                        {
                                                            "key": "type",
                                                            "type": "text",
                                                            "src": "image",
                                                            "description": "### `type`\n- **Description:** Type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `image`, `document`, `video`, `audio`\n- **Required:** optional\n- **Example:** `image`\n- **Validation rules:** `nullable|string|in:image,document,video,audio`\n- `nullable` — may be null.\n- `string` — must be text.\n- `in:image,document,video,audio` — must be one of: image, document, video, audio."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/upload",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "upload"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "formdata",
                                                    "formdata": [
                                                        {
                                                            "key": "file",
                                                            "type": "file",
                                                            "src": "",
                                                            "description": "### `file`\n- **Description:** File _(no description yet)_\n- **Type:** `file`\n- **Required:** required\n- **Example:** `null`\n- **Validation rules:** `required|file|max:10240|mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav`\n- `required` — must be provided.\n- `file` — must be an uploaded file.\n- `max:10240` — must not exceed 10240.\n- `mimes:jpg,jpeg,png,gif,webp,pdf,avi,mov,wmv,flv,mkv,mp4,mp3,wav` — file extension must be one of: jpg, jpeg, png, gif, webp, pdf, avi, mov, wmv, flv, mkv, mp4, mp3, wav."
                                                        },
                                                        {
                                                            "key": "type",
                                                            "type": "text",
                                                            "src": "image",
                                                            "description": "### `type`\n- **Description:** Type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `image`, `document`, `video`, `audio`\n- **Required:** optional\n- **Example:** `image`\n- **Validation rules:** `nullable|string|in:image,document,video,audio`\n- `nullable` — may be null.\n- `string` — must be text.\n- `in:image,document,video,audio` — must be one of: image, document, video, audio."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Communication",
                    "item": [
                        {
                            "name": "Contact",
                            "item": [
                                {
                                    "name": "Contact",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "contact"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.contact`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `name`\n- **Description:** Name _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Example Name`\n- **Validation rules:** `required|string|max:100`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string (email)`\n- **Required:** required\n- **Example:** `user@example.com`\n- **Validation rules:** `required|email`\n- `required` — must be provided.\n- `email` — must be a valid email address.\n### `phone`\n- **Description:** Phone _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1234567890`\n- **Validation rules:** `nullable|string|max:20`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `subject`\n- **Description:** Subject _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|string|max:200`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:200` — must not exceed 200.\n### `message`\n- **Description:** Message _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|string|max:2000`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:2000` — must not exceed 2000.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Response format (illustrative, not captured):**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your message has been sent successfully. We will contact you soon.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"name\": \"Example Name\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"1234567890\",\n    \"subject\": \"value\",\n    \"message\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 OK (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/contact",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "contact"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Example Name\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"1234567890\",\n    \"subject\": \"value\",\n    \"message\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your message has been sent successfully. We will contact you soon.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/contact",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "contact"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Example Name\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"1234567890\",\n    \"subject\": \"value\",\n    \"message\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/contact",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "contact"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Example Name\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"1234567890\",\n    \"subject\": \"value\",\n    \"message\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/contact",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "contact"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Example Name\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"1234567890\",\n    \"subject\": \"value\",\n    \"message\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Notifications",
                            "item": [
                                {
                                    "name": "Preferences",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/notifications/preferences",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "notifications",
                                                "preferences"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.notifications.preferences`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `allow_notifications`\n- **Description:** Allow Notifications _(no description yet)_\n- **Type:** `boolean`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|boolean`\n- `required` — must be provided.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Master switch off\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم تحديث التفضيلات\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"allow_notifications\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Master switch off",
                                            "_joshen": {
                                                "route": "client.notifications.preferences",
                                                "name": "Master switch off",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/notifications/preferences",
                                                    "query": null,
                                                    "body": {
                                                        "allow_notifications": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_cust_022_master_switch_endpoint_is_unchanged_and_reported"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"allow_notifications\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم تحديث التفضيلات\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"allow_notifications\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"allow_notifications\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"allow_notifications\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Device",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/notifications/device",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "notifications",
                                                "device"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.notifications.device`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `device_token`\n- **Description:** Device token _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|string|max:4096`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n### `device_type`\n- **Description:** Device type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `ios`, `android`, `huawei`\n- **Required:** required\n- **Example:** `ios`\n- **Validation rules:** `required|in:ios,android,huawei`\n- `required` — must be provided.\n- `in:ios,android,huawei` — must be one of: ios, android, huawei.\n### `app_version`\n- **Description:** App version _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `nullable|string|max:20`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `device_id`\n- **Description:** Device id _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Device\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Device registered.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Device",
                                            "_joshen": {
                                                "route": "client.notifications.device",
                                                "name": "Device",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/notifications/device",
                                                    "query": null,
                                                    "body": {
                                                        "device_token": "fcm-rotated",
                                                        "device_type": "android",
                                                        "app_version": "2.0.0"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_device_refresh_upserts_this_app_registration"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-rotated\",\n    \"device_type\": \"android\",\n    \"app_version\": \"2.0.0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Device registered.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "notifications",
                                                "preferences",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.notifications.preferences.categories.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Defaults before any change\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Defaults before any change",
                                            "_joshen": {
                                                "route": "client.notifications.preferences.categories.show",
                                                "name": "Defaults before any change",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_cust_022_defaults_are_returned_without_creating_rows"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "notifications",
                                                "preferences",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.notifications.preferences.categories.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `categories`\n- **Description:** Switches to change, keyed by category: orders, payments, chat, offers or account. Categories and fields left out stay unchanged (DEC-13).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"orders\":{\"push_enabled\":false},\"0\":{\"push_enabled\":false,\"sms_enabled\":true}}`\n- **Validation rules:** `sometimes|array:orders,payments,chat,offers,account|min:1`\n- `sometimes` — validated only when the field is present.\n- `array:orders,payments,chat,offers,account` — must be an array.\n- `min:1` — must be at least 1.\n### `categories.*`\n- **Description:** Switches of one category; send at least one of the two fields.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"push_enabled\":false,\"sms_enabled\":true}`\n- **Validation rules:** `sometimes|array:push_enabled,sms_enabled`\n- `sometimes` — validated only when the field is present.\n- `array:push_enabled,sms_enabled` — must be an array.\n### `categories.*.push_enabled`\n- **Description:** Whether push notifications of this category reach this app. The inbox row is always written.\n- **Type:** `boolean`\n- **Required:** conditional\n- **Example:** `false`\n- **Validation rules:** `required_without:categories.*.sms_enabled|boolean`\n- `required_without:categories.*.sms_enabled` — required when categories.*.sms_enabled is missing.\n- `boolean` — must be true, false, 1, or 0.\n### `categories.*.sms_enabled`\n- **Description:** Stored for the day SMS notifications exist; it has no effect yet because the SMS provider is open (DEC-15).\n- **Type:** `boolean`\n- **Required:** conditional\n- **Example:** `true`\n- **Validation rules:** `required_without:categories.*.push_enabled|boolean`\n- `required_without:categories.*.push_enabled` — required when categories.*.push_enabled is missing.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Switch orders push off and chat SMS off\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Category without any field\n- `422` Unknown category\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Preferences updated\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": false,\n                \"sms_enabled\": false\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": false\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Switch orders push off and chat SMS off",
                                            "_joshen": {
                                                "route": "client.notifications.preferences.categories.update",
                                                "name": "Switch orders push off and chat SMS off",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": {
                                                        "categories": {
                                                            "orders": {
                                                                "sms_enabled": false
                                                            }
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_cust_022_partial_update_changes_only_the_listed_fields"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"sms_enabled\": false\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Preferences updated\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": false,\n                \"sms_enabled\": false\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": false\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category without any field",
                                            "_joshen": {
                                                "route": "client.notifications.preferences.categories.update",
                                                "name": "Category without any field",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": {
                                                        "categories": {
                                                            "orders": []
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_cust_022_validation_errors"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"orders\": []\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The categories.orders field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"categories.orders\": [\n                \"The categories.orders field is required.\"\n            ],\n            \"categories.orders.push_enabled\": [\n                \"The categories.orders.push_enabled field is required when categories.orders.sms_enabled is not present.\"\n            ],\n            \"categories.orders.sms_enabled\": [\n                \"The categories.orders.sms_enabled field is required when categories.orders.push_enabled is not present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown category",
                                            "_joshen": {
                                                "route": "client.notifications.preferences.categories.update",
                                                "name": "Unknown category",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": {
                                                        "categories": {
                                                            "sounds": {
                                                                "push_enabled": true
                                                            }
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_cust_022_validation_errors"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"sounds\": {\n            \"push_enabled\": true\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The categories field must be an array.\",\n    \"data\": {\n        \"errors\": {\n            \"categories\": [\n                \"The categories field must be an array.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "General",
                    "item": [
                        {
                            "name": "Support",
                            "item": [
                                {
                                    "name": "Reasons",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/support/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "support",
                                                "reasons"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.support.reasons`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Reasons for my app\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n                \"label\": \"Sample-ksak72727421\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a45-701e-8834-597a47cbac86\",\n                \"label\": \"Late or No-Show Specialist\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a48-727e-9aba-798352fae166\",\n                \"label\": \"Safety Concern or Misconduct\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a4c-7384-ac4d-92335755bebc\",\n                \"label\": \"Payment or Billing Issue\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a4f-71a6-aec1-4d2927130169\",\n                \"label\": \"Refund Request\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a52-7222-8bff-d349613fbcc4\",\n                \"label\": \"App or Account Problem\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a56-7344-bf27-321bd17c3b8e\",\n                \"label\": \"General Inquiry or Help\",\n                \"is_urgent\": false\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Reasons for my app",
                                            "_joshen": {
                                                "route": "client.support.reasons",
                                                "name": "Reasons for my app",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/reasons",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n                \"label\": \"Sample-ksak72727421\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a45-701e-8834-597a47cbac86\",\n                \"label\": \"Late or No-Show Specialist\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a48-727e-9aba-798352fae166\",\n                \"label\": \"Safety Concern or Misconduct\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a4c-7384-ac4d-92335755bebc\",\n                \"label\": \"Payment or Billing Issue\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a4f-71a6-aec1-4d2927130169\",\n                \"label\": \"Refund Request\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a52-7222-8bff-d349613fbcc4\",\n                \"label\": \"App or Account Problem\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a56-7344-bf27-321bd17c3b8e\",\n                \"label\": \"General Inquiry or Help\",\n                \"is_urgent\": false\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/support/tickets",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "support",
                                                "tickets"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "replied",
                                                    "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.support.tickets.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed` (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `ticket_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` My requests\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26\",\n                \"code\": \"SUP-1011\",\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n                    \"label\": \"Sample-ksak72727421\"\n                },\n                \"body\": \"I need help with an order\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"has_media\": false,\n                \"order\": null,\n                \"trip\": null,\n                \"can_reply\": true,\n                \"created_at\": \"2026-11-09T15:11:23+00:00\",\n                \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/support/tickets?page=1\",\n            \"last\": \"http://localhost/api/v1/client/support/tickets?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/support/tickets?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/support/tickets\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 My requests",
                                            "_joshen": {
                                                "route": "client.support.tickets.index",
                                                "name": "My requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26\",\n                \"code\": \"SUP-1011\",\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n                    \"label\": \"Sample-ksak72727421\"\n                },\n                \"body\": \"I need help with an order\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"has_media\": false,\n                \"order\": null,\n                \"trip\": null,\n                \"can_reply\": true,\n                \"created_at\": \"2026-11-09T15:11:23+00:00\",\n                \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/support/tickets?page=1\",\n            \"last\": \"http://localhost/api/v1/client/support/tickets?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/support/tickets?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/support/tickets\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "replied",
                                                            "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "replied",
                                                            "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "client.support.tickets.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets",
                                                    "query": {
                                                        "filters": {
                                                            "status": "open"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets?filters[status]=open",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "open"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/support/tickets",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "support",
                                                "tickets"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.support.tickets.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, throttle:support-ticket`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason_id`\n- **Description:** Contact or complaint reason (uuid) from `GET support/reasons` for the caller's app; an urgent reason makes the ticket urgent (DEC-21).\n- **Type:** `string (uuid)`\n- **Refers to:** a `support_reasons` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:support_reasons,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:support_reasons,uuid` — must reference an existing record (support_reasons, uuid).\n### `body`\n- **Description:** Explanatory text, 3–4000 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `The specialist did not arrive at the booked time.`\n- **Validation rules:** `required|string|min:3|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:3` — must be at least 3.\n- `max:4000` — must not exceed 4000.\n### `order_id`\n- **Description:** Customer and provider apps: optional order (uuid) the request is about; it must be one of her own. Not accepted by the driver app.\n- **Type:** `string (uuid)`\n- **Required:** optional\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `sometimes|nullable|uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n### `trip_id`\n- **Description:** Driver app only: optional trip (uuid) the request is about; it must be one of her own (DRIV-019). Not accepted by the other apps.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `attachments`\n- **Description:** Optional files (at most 5) uploaded first through the media endpoint.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `sometimes|array|list|max:5`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:5` — must not exceed 5.\n### `attachments.*`\n- **Description:** Media hash returned by the upload endpoint; an image, a video or a document.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `ticket_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Request sent\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Missing text\n- `422` Reason not available — `error_code: SUPPORT_REASON_INVALID`\n- `429` Too many requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your request was sent to the support team.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26\",\n        \"code\": \"SUP-1011\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n            \"label\": \"Sample-ksak72727421\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Request sent",
                                            "_joshen": {
                                                "route": "client.support.tickets.store",
                                                "name": "Request sent",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2d7d-73c9-999c-5b5effc41201",
                                                        "body": "I need help with an order"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n    \"body\": \"I need help with an order\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your request was sent to the support team.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26\",\n        \"code\": \"SUP-1011\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n            \"label\": \"Sample-ksak72727421\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing text",
                                            "_joshen": {
                                                "route": "client.support.tickets.store",
                                                "name": "Missing text",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2d7d-73c9-999c-5b5effc41201"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Reason not available",
                                            "_joshen": {
                                                "route": "client.support.tickets.store",
                                                "name": "Reason not available",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2dd9-7371-9cc7-0629ad565303",
                                                        "body": "Help"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2dd9-7371-9cc7-0629ad565303\",\n    \"body\": \"Help\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The chosen reason is not available.\",\n    \"data\": {\n        \"error_code\": \"SUPPORT_REASON_INVALID\",\n        \"correlation_id\": \"6351055c-6929-40e1-8614-061dbd736763\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many requests",
                                            "_joshen": {
                                                "route": "client.support.tickets.store",
                                                "name": "Too many requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"ticket_id\",\"Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/support/tickets/:ticket",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "support",
                                                "tickets",
                                                ":ticket"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.support.tickets.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{ticket_id}}` — Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `ticket_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Request with its thread\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26\",\n        \"code\": \"SUP-1011\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n            \"label\": \"Sample-ksak72727421\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Request with its thread",
                                            "_joshen": {
                                                "route": "client.support.tickets.show",
                                                "name": "Request with its thread",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26\",\n        \"code\": \"SUP-1011\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2d7d-73c9-999c-5b5effc41201\",\n            \"label\": \"Sample-ksak72727421\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "ticket_id",
                                                "set_by": [
                                                    "client.support.tickets.index",
                                                    "client.support.tickets.store",
                                                    "client.support.tickets.show",
                                                    "provider.support.tickets.index",
                                                    "provider.support.tickets.store",
                                                    "provider.support.tickets.show",
                                                    "delivery.support.tickets.index",
                                                    "delivery.support.tickets.store",
                                                    "delivery.support.tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reply",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"ticket_id\",\"Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/support/tickets/:ticket/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "support",
                                                "tickets",
                                                ":ticket",
                                                "messages"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.support.tickets.reply`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, throttle:support-ticket`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `body`\n- **Description:** Follow-up text, up to 4000 characters. A closed ticket refuses it (409).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Attaching the booking screenshot.`\n- **Validation rules:** `required|string|min:1|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:1` — must be at least 1.\n- `max:4000` — must not exceed 4000.\n### `attachments`\n- **Description:** Optional files (at most 5) uploaded first through the media endpoint.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `sometimes|array|list|max:5`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:5` — must not exceed 5.\n### `attachments.*`\n- **Description:** Media hash returned by the upload endpoint; an image, a video or a document.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{ticket_id}}` — Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `201` Follow-up added\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Request is closed — `error_code: SUPPORT_TICKET_CLOSED`\n- `422` Empty follow-up\n- `429` Too many follow-ups — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your message was added.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2dcc-71e2-9146-aad134368022\",\n        \"sender\": {\n            \"value\": \"user\",\n            \"label\": \"You\"\n        },\n        \"body\": \"Any news?\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Follow-up added",
                                            "_joshen": {
                                                "route": "client.support.tickets.reply",
                                                "name": "Follow-up added",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Any news?"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Any news?\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your message was added.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2dcc-71e2-9146-aad134368022\",\n        \"sender\": {\n            \"value\": \"user\",\n            \"label\": \"You\"\n        },\n        \"body\": \"Any news?\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Request is closed",
                                            "_joshen": {
                                                "route": "client.support.tickets.reply",
                                                "name": "Request is closed",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This request is closed. Please open a new one.\",\n    \"data\": {\n        \"error_code\": \"SUPPORT_TICKET_CLOSED\",\n        \"correlation_id\": \"2ec77002-b72b-4ea6-8d59-3235d7be9f45\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Empty follow-up",
                                            "_joshen": {
                                                "route": "client.support.tickets.reply",
                                                "name": "Empty follow-up",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26/messages",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many follow-ups",
                                            "_joshen": {
                                                "route": "client.support.tickets.reply",
                                                "name": "Too many follow-ups",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/support/tickets/01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2d9a-71e5-ae2b-6bb3589afa26",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "ticket_id",
                                                "set_by": [
                                                    "client.support.tickets.index",
                                                    "client.support.tickets.store",
                                                    "client.support.tickets.show",
                                                    "provider.support.tickets.index",
                                                    "provider.support.tickets.store",
                                                    "provider.support.tickets.show",
                                                    "delivery.support.tickets.index",
                                                    "delivery.support.tickets.store",
                                                    "delivery.support.tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Services",
                            "item": [
                                {
                                    "name": "Providers",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"provider_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/services/:service/providers?address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&booking_type=instant&option_ids[]={{service_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "services",
                                                ":service",
                                                "providers"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "service",
                                                    "value": "{{service_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "address_id",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "UUID of this customer's live service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "booking_type",
                                                    "value": "instant",
                                                    "description": "instant or scheduled. — `string (enum)`, one of: `instant`, `scheduled`",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "option_ids[]",
                                                    "value": "{{service_id}}",
                                                    "description": "UUID of an active choice under the URL service. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.booking.providers`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `address_id` — UUID of this customer's live service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19) (required)\n- `booking_type` — instant or scheduled. — `string (enum)`, one of: `instant`, `scheduled` (required)\n- `option_ids[]` — UUID of an active choice under the URL service. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19) (required)\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `provider_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Eligible provider with selected prices and delivery\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Missing required booking fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a1c637-4013-72d7-81c1-af2292525562\",\n            \"name\": \"Alia Kuvalis\",\n            \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"rating_avg\": null,\n            \"rating_count\": 0,\n            \"service_price\": \"130.00\",\n            \"delivery_fee\": \"20.00\",\n            \"total_amount\": \"150.00\",\n            \"distance_km\": \"0.000\",\n            \"coverage\": {\n                \"city_id\": \"01a1c637-400c-7250-b747-0d4ca7a40a06\",\n                \"radius_km\": 10\n            },\n            \"can_receive_instant\": true\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Eligible provider with selected prices and delivery",
                                            "_joshen": {
                                                "route": "client.booking.providers",
                                                "name": "Eligible provider with selected prices and delivery",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/services/01a1c637-401b-7070-bb12-5195be1f961b/providers",
                                                    "query": {
                                                        "address_id": "01a1c637-4012-7362-a02f-f3fe151bc4ab",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1c637-4022-738a-a62f-29e0cec34467"
                                                        ]
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_010_011_provider_list_and_quote_use_selected_price_and_delivery_fee"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/services/01a1c637-401b-7070-bb12-5195be1f961b/providers?address_id=01a1c637-4012-7362-a02f-f3fe151bc4ab&booking_type=instant&option_ids[0]=01a1c637-4022-738a-a62f-29e0cec34467",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "services",
                                                        "01a1c637-401b-7070-bb12-5195be1f961b",
                                                        "providers"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a1c637-4012-7362-a02f-f3fe151bc4ab"
                                                        },
                                                        {
                                                            "key": "booking_type",
                                                            "value": "instant"
                                                        },
                                                        {
                                                            "key": "option_ids[0]",
                                                            "value": "01a1c637-4022-738a-a62f-29e0cec34467"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a1c637-4013-72d7-81c1-af2292525562\",\n            \"name\": \"Alia Kuvalis\",\n            \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"rating_avg\": null,\n            \"rating_count\": 0,\n            \"service_price\": \"130.00\",\n            \"delivery_fee\": \"20.00\",\n            \"total_amount\": \"150.00\",\n            \"distance_km\": \"0.000\",\n            \"coverage\": {\n                \"city_id\": \"01a1c637-400c-7250-b747-0d4ca7a40a06\",\n                \"radius_km\": 10\n            },\n            \"can_receive_instant\": true\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/services/:service/providers?address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&booking_type=instant&option_ids[]={{service_id}}",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "services",
                                                        ":service",
                                                        "providers"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "address_id",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "UUID of this customer's live service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "booking_type",
                                                            "value": "instant",
                                                            "description": "instant or scheduled. — `string (enum)`, one of: `instant`, `scheduled`",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "option_ids[]",
                                                            "value": "{{service_id}}",
                                                            "description": "UUID of an active choice under the URL service. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/services/:service/providers?address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&booking_type=instant&option_ids[]={{service_id}}",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "services",
                                                        ":service",
                                                        "providers"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "address_id",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "UUID of this customer's live service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "booking_type",
                                                            "value": "instant",
                                                            "description": "instant or scheduled. — `string (enum)`, one of: `instant`, `scheduled`",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "option_ids[]",
                                                            "value": "{{service_id}}",
                                                            "description": "UUID of an active choice under the URL service. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required booking fields",
                                            "_joshen": {
                                                "route": "client.booking.providers",
                                                "name": "Missing required booking fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/services/not-a-uuid/providers",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_014_booking_request_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/services/not-a-uuid/providers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "services",
                                                        "not-a-uuid",
                                                        "providers"
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The address id field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"address_id\": [\n                \"The address id field is required.\"\n            ],\n            \"booking_type\": [\n                \"The booking type field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "provider_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Providers",
                            "item": [
                                {
                                    "name": "Slots",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/providers/:provider/slots?date=2026-11-01&address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&service_id={{service_id}}&option_ids[]={{service_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "providers",
                                                ":provider",
                                                "slots"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "provider",
                                                    "value": "{{provider_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "date",
                                                    "value": "2026-11-01",
                                                    "description": "Saudi-local date to search, YYYY-MM-DD. — `string (date)`",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address_id",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "UUID of this customer's live service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "service_id",
                                                    "value": "{{service_id}}",
                                                    "description": "UUID of the selected type-1 bookable service. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "option_ids[]",
                                                    "value": "{{service_id}}",
                                                    "description": "UUID of an active type-3 choice. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.booking.slots`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `date` — Saudi-local date to search, YYYY-MM-DD. — `string (date)` (required)\n- `address_id` — UUID of this customer's live service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19) (required)\n- `service_id` — UUID of the selected type-1 bookable service. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19) (required)\n- `option_ids[]` — UUID of an active type-3 choice. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19) (required)\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Group slots sized by the combined duration\n- `200` Scheduled slots excluding time off\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Missing required booking fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"date\": \"2026-11-01\",\n        \"provider_id\": \"01a1bfbd-e6a1-73e5-b089-9ccf71e87a6c\",\n        \"service_id\": null,\n        \"estimated_duration_min\": 160,\n        \"slots\": [\n            \"2026-11-01T09:00:00+03:00\",\n            \"2026-11-01T09:15:00+03:00\",\n            \"2026-11-01T09:30:00+03:00\",\n            \"2026-11-01T09:45:00+03:00\",\n            \"2026-11-01T10:00:00+03:00\",\n            \"2026-11-01T10:15:00+03:00\",\n            \"2026-11-01T10:30:00+03:00\",\n            \"2026-11-01T10:45:00+03:00\",\n            \"2026-11-01T11:00:00+03:00\",\n            \"2026-11-01T11:15:00+03:00\",\n            \"2026-11-01T11:30:00+03:00\",\n            \"2026-11-01T11:45:00+03:00\",\n            \"2026-11-01T12:00:00+03:00\",\n            \"2026-11-01T12:15:00+03:00\",\n            \"2026-11-01T12:30:00+03:00\",\n            \"2026-11-01T12:45:00+03:00\",\n            \"2026-11-01T13:00:00+03:00\",\n            \"2026-11-01T13:15:00+03:00\",\n            \"2026-11-01T13:30:00+03:00\",\n            \"2026-11-01T13:45:00+03:00\",\n            \"2026-11-01T14:00:00+03:00\",\n            \"2026-11-01T14:15:00+03:00\"\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Group slots sized by the combined duration",
                                            "_joshen": {
                                                "route": "client.booking.slots",
                                                "name": "Group slots sized by the combined duration",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/providers/01a1bfbd-e6a1-73e5-b089-9ccf71e87a6c/slots",
                                                    "query": {
                                                        "date": "2026-11-01",
                                                        "address_id": "01a1bfbd-e69f-7150-8289-8ca6bb6d9f50",
                                                        "people": [
                                                            {
                                                                "is_customer": "1",
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-e6ae-7194-8218-fd9f07c5d96a",
                                                                        "option_ids": [
                                                                            "01a1bfbd-e6b7-7319-93c5-acc4146e1b35"
                                                                        ]
                                                                    }
                                                                ]
                                                            },
                                                            {
                                                                "name": "جود الحربي",
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-e6ae-7194-8218-fd9f07c5d96a",
                                                                        "option_ids": [
                                                                            "01a1bfbd-e6c1-730c-bf88-ed3e4b78f514"
                                                                        ]
                                                                    },
                                                                    {
                                                                        "service_id": "01a1bfbd-e6d1-70d7-8f64-8bcb103b1da8"
                                                                    }
                                                                ]
                                                            }
                                                        ]
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GroupBookingTest::test_d2_slots_are_sized_by_the_whole_groups_duration"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/providers/01a1bfbd-e6a1-73e5-b089-9ccf71e87a6c/slots?date=2026-11-01&address_id=01a1bfbd-e69f-7150-8289-8ca6bb6d9f50&people[0][is_customer]=1&people[0][services][0][service_id]=01a1bfbd-e6ae-7194-8218-fd9f07c5d96a&people[0][services][0][option_ids][0]=01a1bfbd-e6b7-7319-93c5-acc4146e1b35&people[1][name]=جود الحربي&people[1][services][0][service_id]=01a1bfbd-e6ae-7194-8218-fd9f07c5d96a&people[1][services][0][option_ids][0]=01a1bfbd-e6c1-730c-bf88-ed3e4b78f514&people[1][services][1][service_id]=01a1bfbd-e6d1-70d7-8f64-8bcb103b1da8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "providers",
                                                        "01a1bfbd-e6a1-73e5-b089-9ccf71e87a6c",
                                                        "slots"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "date",
                                                            "value": "2026-11-01"
                                                        },
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a1bfbd-e69f-7150-8289-8ca6bb6d9f50"
                                                        },
                                                        {
                                                            "key": "people[0][is_customer]",
                                                            "value": "1"
                                                        },
                                                        {
                                                            "key": "people[0][services][0][service_id]",
                                                            "value": "01a1bfbd-e6ae-7194-8218-fd9f07c5d96a"
                                                        },
                                                        {
                                                            "key": "people[0][services][0][option_ids][0]",
                                                            "value": "01a1bfbd-e6b7-7319-93c5-acc4146e1b35"
                                                        },
                                                        {
                                                            "key": "people[1][name]",
                                                            "value": "جود الحربي"
                                                        },
                                                        {
                                                            "key": "people[1][services][0][service_id]",
                                                            "value": "01a1bfbd-e6ae-7194-8218-fd9f07c5d96a"
                                                        },
                                                        {
                                                            "key": "people[1][services][0][option_ids][0]",
                                                            "value": "01a1bfbd-e6c1-730c-bf88-ed3e4b78f514"
                                                        },
                                                        {
                                                            "key": "people[1][services][1][service_id]",
                                                            "value": "01a1bfbd-e6d1-70d7-8f64-8bcb103b1da8"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"date\": \"2026-11-01\",\n        \"provider_id\": \"01a1bfbd-e6a1-73e5-b089-9ccf71e87a6c\",\n        \"service_id\": null,\n        \"estimated_duration_min\": 160,\n        \"slots\": [\n            \"2026-11-01T09:00:00+03:00\",\n            \"2026-11-01T09:15:00+03:00\",\n            \"2026-11-01T09:30:00+03:00\",\n            \"2026-11-01T09:45:00+03:00\",\n            \"2026-11-01T10:00:00+03:00\",\n            \"2026-11-01T10:15:00+03:00\",\n            \"2026-11-01T10:30:00+03:00\",\n            \"2026-11-01T10:45:00+03:00\",\n            \"2026-11-01T11:00:00+03:00\",\n            \"2026-11-01T11:15:00+03:00\",\n            \"2026-11-01T11:30:00+03:00\",\n            \"2026-11-01T11:45:00+03:00\",\n            \"2026-11-01T12:00:00+03:00\",\n            \"2026-11-01T12:15:00+03:00\",\n            \"2026-11-01T12:30:00+03:00\",\n            \"2026-11-01T12:45:00+03:00\",\n            \"2026-11-01T13:00:00+03:00\",\n            \"2026-11-01T13:15:00+03:00\",\n            \"2026-11-01T13:30:00+03:00\",\n            \"2026-11-01T13:45:00+03:00\",\n            \"2026-11-01T14:00:00+03:00\",\n            \"2026-11-01T14:15:00+03:00\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "200 Scheduled slots excluding time off",
                                            "_joshen": {
                                                "route": "client.booking.slots",
                                                "name": "Scheduled slots excluding time off",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/providers/01a1c637-437c-701d-ab6e-f839d16d2ec9/slots",
                                                    "query": {
                                                        "service_id": "01a1c637-4386-723b-b578-e34856339c62",
                                                        "date": "2026-10-26",
                                                        "address_id": "01a1c637-437a-70cf-be50-1817d06a3635",
                                                        "option_ids": [
                                                            "01a1c637-438d-7049-b672-a8c1e5edc345"
                                                        ]
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_013_slots_exclude_closed_and_overlapping_periods"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/providers/01a1c637-437c-701d-ab6e-f839d16d2ec9/slots?service_id=01a1c637-4386-723b-b578-e34856339c62&date=2026-10-26&address_id=01a1c637-437a-70cf-be50-1817d06a3635&option_ids[0]=01a1c637-438d-7049-b672-a8c1e5edc345",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "providers",
                                                        "01a1c637-437c-701d-ab6e-f839d16d2ec9",
                                                        "slots"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "service_id",
                                                            "value": "01a1c637-4386-723b-b578-e34856339c62"
                                                        },
                                                        {
                                                            "key": "date",
                                                            "value": "2026-10-26"
                                                        },
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a1c637-437a-70cf-be50-1817d06a3635"
                                                        },
                                                        {
                                                            "key": "option_ids[0]",
                                                            "value": "01a1c637-438d-7049-b672-a8c1e5edc345"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"date\": \"2026-10-26\",\n        \"provider_id\": \"01a1c637-437c-701d-ab6e-f839d16d2ec9\",\n        \"service_id\": \"01a1c637-4386-723b-b578-e34856339c62\",\n        \"slots\": [\n            \"2026-10-26T09:00:00+03:00\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/providers/:provider/slots?date=2026-11-01&address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&service_id={{service_id}}&option_ids[]={{service_id}}",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "providers",
                                                        ":provider",
                                                        "slots"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "provider",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "date",
                                                            "value": "2026-11-01",
                                                            "description": "Saudi-local date to search, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "address_id",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "UUID of this customer's live service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "service_id",
                                                            "value": "{{service_id}}",
                                                            "description": "UUID of the selected type-1 bookable service. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "option_ids[]",
                                                            "value": "{{service_id}}",
                                                            "description": "UUID of an active type-3 choice. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/providers/:provider/slots?date=2026-11-01&address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&service_id={{service_id}}&option_ids[]={{service_id}}",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "providers",
                                                        ":provider",
                                                        "slots"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "provider",
                                                            "value": "{{provider_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "date",
                                                            "value": "2026-11-01",
                                                            "description": "Saudi-local date to search, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "address_id",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "UUID of this customer's live service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "service_id",
                                                            "value": "{{service_id}}",
                                                            "description": "UUID of the selected type-1 bookable service. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "option_ids[]",
                                                            "value": "{{service_id}}",
                                                            "description": "UUID of an active type-3 choice. — `string (uuid)`, a `services` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required booking fields",
                                            "_joshen": {
                                                "route": "client.booking.slots",
                                                "name": "Missing required booking fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/providers/not-a-uuid/slots",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_014_booking_request_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/providers/not-a-uuid/slots",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "providers",
                                                        "not-a-uuid",
                                                        "slots"
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The date field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"date\": [\n                \"The date field is required.\"\n            ],\n            \"address_id\": [\n                \"The address id field is required.\"\n            ],\n            \"service_id\": [\n                \"The service id field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "My packages",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"my_package_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/my-packages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "my-packages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "active or finished; omit to include pending payments. — `string (enum)`, one of: `active`, `finished`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Number of packages per page, maximum 100. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.my-packages.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `tab` — active or finished; omit to include pending payments. — `string (enum)`, one of: `active`, `finished` (optional)\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Number of packages per page, maximum 100. — `integer` (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `my_package_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Owned packages\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid package tab\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": \"01a1a146-e772-72dc-89bf-3a51e414b6f9\",\n                \"name\": \"Sample-qabk27209233\",\n                \"status\": {\n                    \"value\": \"pending_payment\",\n                    \"label\": \"Pending payment\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1a146-e73d-7039-b2ff-19fec5ba6349\",\n                    \"name\": \"Sammy Miller\"\n                },\n                \"price_paid\": \"100.00\",\n                \"validity_days\": 45,\n                \"activated_at\": null,\n                \"expires_at\": null,\n                \"sessions_remaining\": 3,\n                \"can_book_session\": false\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/client/my-packages?page=1\",\n        \"from\": 1,\n        \"last_page\": 1,\n        \"last_page_url\": \"http://localhost/api/v1/client/my-packages?page=1\",\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"&laquo; Previous\",\n                \"page\": null,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/my-packages?page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next &raquo;\",\n                \"page\": null,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": null,\n        \"path\": \"http://localhost/api/v1/client/my-packages\",\n        \"per_page\": 15,\n        \"prev_page_url\": null,\n        \"to\": 1,\n        \"total\": 1\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Owned packages",
                                            "_joshen": {
                                                "route": "client.my-packages.index",
                                                "name": "Owned packages",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_owned_packages_show_snapshot_balance_and_reject_other_customers"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": \"01a1a146-e772-72dc-89bf-3a51e414b6f9\",\n                \"name\": \"Sample-qabk27209233\",\n                \"status\": {\n                    \"value\": \"pending_payment\",\n                    \"label\": \"Pending payment\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1a146-e73d-7039-b2ff-19fec5ba6349\",\n                    \"name\": \"Sammy Miller\"\n                },\n                \"price_paid\": \"100.00\",\n                \"validity_days\": 45,\n                \"activated_at\": null,\n                \"expires_at\": null,\n                \"sessions_remaining\": 3,\n                \"can_book_session\": false\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/client/my-packages?page=1\",\n        \"from\": 1,\n        \"last_page\": 1,\n        \"last_page_url\": \"http://localhost/api/v1/client/my-packages?page=1\",\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"&laquo; Previous\",\n                \"page\": null,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/my-packages?page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next &raquo;\",\n                \"page\": null,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": null,\n        \"path\": \"http://localhost/api/v1/client/my-packages\",\n        \"per_page\": 15,\n        \"prev_page_url\": null,\n        \"to\": 1,\n        \"total\": 1\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "active",
                                                            "description": "active or finished; omit to include pending payments. — `string (enum)`, one of: `active`, `finished`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Number of packages per page, maximum 100. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "active",
                                                            "description": "active or finished; omit to include pending payments. — `string (enum)`, one of: `active`, `finished`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Number of packages per page, maximum 100. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid package tab",
                                            "_joshen": {
                                                "route": "client.my-packages.index",
                                                "name": "Invalid package tab",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages",
                                                    "query": {
                                                        "tab": "invalid"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_owned_packages_show_snapshot_balance_and_reject_other_customers"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages?tab=invalid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "invalid"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected tab is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"tab\": [\n                \"The selected tab is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "my_package_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"my_package_id\",\"Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"my_package_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "my-packages",
                                                ":customerPackage"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "customerPackage",
                                                    "value": "{{my_package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.my-packages.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{my_package_id}}` — Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `my_package_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Owned package details\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Package belongs to another customer\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a146-e772-72dc-89bf-3a51e414b6f9\",\n        \"name\": \"Sample-qabk27209233\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"provider\": {\n            \"id\": \"01a1a146-e73d-7039-b2ff-19fec5ba6349\",\n            \"name\": \"Sammy Miller\"\n        },\n        \"price_paid\": \"100.00\",\n        \"validity_days\": 45,\n        \"activated_at\": \"2026-10-25T07:00:00+00:00\",\n        \"expires_at\": \"2026-12-09T07:00:00+00:00\",\n        \"sessions_remaining\": 3,\n        \"can_book_session\": true,\n        \"purchase_order_id\": \"01a1a146-e76f-7118-a54d-24c9e6e2d879\",\n        \"services\": [\n            {\n                \"id\": \"01a1a146-e774-70be-aa2e-9c0a897fceb7\",\n                \"service_id\": \"01a1a146-e746-704c-bbda-d270811a97a1\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 75,\n                \"sessions_total\": 3,\n                \"sessions_used\": 0,\n                \"sessions_remaining\": 3,\n                \"can_book_session\": true,\n                \"booking_unavailable_reason\": null\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Owned package details",
                                            "_joshen": {
                                                "route": "client.my-packages.show",
                                                "name": "Owned package details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a1a146-e772-72dc-89bf-3a51e414b6f9",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_owned_packages_show_snapshot_balance_and_reject_other_customers"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a1a146-e772-72dc-89bf-3a51e414b6f9",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a1a146-e772-72dc-89bf-3a51e414b6f9"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a146-e772-72dc-89bf-3a51e414b6f9\",\n        \"name\": \"Sample-qabk27209233\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"provider\": {\n            \"id\": \"01a1a146-e73d-7039-b2ff-19fec5ba6349\",\n            \"name\": \"Sammy Miller\"\n        },\n        \"price_paid\": \"100.00\",\n        \"validity_days\": 45,\n        \"activated_at\": \"2026-10-25T07:00:00+00:00\",\n        \"expires_at\": \"2026-12-09T07:00:00+00:00\",\n        \"sessions_remaining\": 3,\n        \"can_book_session\": true,\n        \"purchase_order_id\": \"01a1a146-e76f-7118-a54d-24c9e6e2d879\",\n        \"services\": [\n            {\n                \"id\": \"01a1a146-e774-70be-aa2e-9c0a897fceb7\",\n                \"service_id\": \"01a1a146-e746-704c-bbda-d270811a97a1\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 75,\n                \"sessions_total\": 3,\n                \"sessions_used\": 0,\n                \"sessions_remaining\": 3,\n                \"can_book_session\": true,\n                \"booking_unavailable_reason\": null\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        ":customerPackage"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "customerPackage",
                                                            "value": "{{my_package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        ":customerPackage"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "customerPackage",
                                                            "value": "{{my_package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Package belongs to another customer",
                                            "_joshen": {
                                                "route": "client.my-packages.show",
                                                "name": "Package belongs to another customer",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a1a146-e772-72dc-89bf-3a51e414b6f9",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_owned_packages_show_snapshot_balance_and_reject_other_customers"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a1a146-e772-72dc-89bf-3a51e414b6f9",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a1a146-e772-72dc-89bf-3a51e414b6f9"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "my_package_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "my_package_id",
                                                "set_by": [
                                                    "client.my-packages.index",
                                                    "client.my-packages.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Slots",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"my_package_id\",\"Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions/slots?customer_package_item_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&date=2024-01-01",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "my-packages",
                                                ":customerPackage",
                                                "sessions",
                                                "slots"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "customerPackage",
                                                    "value": "{{my_package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "customer_package_item_id",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "UUID of a service in the purchased package. — `string (uuid)`, a `customer_package_items` record — send its uuid `id` (TD-19)",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address_id",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "UUID of the customer service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "date",
                                                    "value": "2024-01-01",
                                                    "description": "Saudi-local date, YYYY-MM-DD. — `string (date)`",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.my-packages.sessions.slots`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `customer_package_item_id` — UUID of a service in the purchased package. — `string (uuid)`, a `customer_package_items` record — send its uuid `id` (TD-19) (required)\n- `address_id` — UUID of the customer service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19) (required)\n- `date` — Saudi-local date, YYYY-MM-DD. — `string (date)` (required)\n\n**Variables:**\n- Uses `{{my_package_id}}` — Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Available session slots\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Missing slot fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"date\": \"2026-10-28\",\n        \"provider_id\": \"01a17ce6-950b-71b7-92a8-1520d613ed99\",\n        \"service_id\": \"01a17ce6-9516-700a-aa34-95fbf01f9d67\",\n        \"slots\": [\n            \"2026-10-28T09:00:00+03:00\",\n            \"2026-10-28T09:15:00+03:00\",\n            \"2026-10-28T09:30:00+03:00\"\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Available session slots",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.slots",
                                                "name": "Available session slots",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions/slots",
                                                    "query": {
                                                        "customer_package_item_id": "01a17ce6-9546-700e-9f10-c83650a2218e",
                                                        "address_id": "01a17ce6-9508-7305-83c1-a5415930814c",
                                                        "date": "2026-10-28"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_013_quote_uses_prepaid_amounts_and_slots_use_snapshot_duration"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions/slots?customer_package_item_id=01a17ce6-9546-700e-9f10-c83650a2218e&address_id=01a17ce6-9508-7305-83c1-a5415930814c&date=2026-10-28",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9545-7341-89d6-925172b4e9d9",
                                                        "sessions",
                                                        "slots"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "customer_package_item_id",
                                                            "value": "01a17ce6-9546-700e-9f10-c83650a2218e"
                                                        },
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a17ce6-9508-7305-83c1-a5415930814c"
                                                        },
                                                        {
                                                            "key": "date",
                                                            "value": "2026-10-28"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"date\": \"2026-10-28\",\n        \"provider_id\": \"01a17ce6-950b-71b7-92a8-1520d613ed99\",\n        \"service_id\": \"01a17ce6-9516-700a-aa34-95fbf01f9d67\",\n        \"slots\": [\n            \"2026-10-28T09:00:00+03:00\",\n            \"2026-10-28T09:15:00+03:00\",\n            \"2026-10-28T09:30:00+03:00\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions/slots?customer_package_item_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&date=2024-01-01",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        ":customerPackage",
                                                        "sessions",
                                                        "slots"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "customerPackage",
                                                            "value": "{{my_package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "customer_package_item_id",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "UUID of a service in the purchased package. — `string (uuid)`, a `customer_package_items` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "address_id",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "UUID of the customer service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "date",
                                                            "value": "2024-01-01",
                                                            "description": "Saudi-local date, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions/slots?customer_package_item_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&address_id=0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55&date=2024-01-01",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        ":customerPackage",
                                                        "sessions",
                                                        "slots"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "customerPackage",
                                                            "value": "{{my_package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "customer_package_item_id",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "UUID of a service in the purchased package. — `string (uuid)`, a `customer_package_items` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "address_id",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "UUID of the customer service address. — `string (uuid)`, a `customer_addresses` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "date",
                                                            "value": "2024-01-01",
                                                            "description": "Saudi-local date, YYYY-MM-DD. — `string (date)`",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing slot fields",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.slots",
                                                "name": "Missing slot fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions/slots",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_013_quote_uses_prepaid_amounts_and_slots_use_snapshot_duration"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions/slots",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9545-7341-89d6-925172b4e9d9",
                                                        "sessions",
                                                        "slots"
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The customer package item id field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"customer_package_item_id\": [\n                \"The customer package item id field is required.\"\n            ],\n            \"address_id\": [\n                \"The address id field is required.\"\n            ],\n            \"date\": [\n                \"The date field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "my_package_id",
                                                "set_by": [
                                                    "client.my-packages.index",
                                                    "client.my-packages.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Quote",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"my_package_id\",\"Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions/quote",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "my-packages",
                                                ":customerPackage",
                                                "sessions",
                                                "quote"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "customerPackage",
                                                    "value": "{{my_package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.my-packages.sessions.quote`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `customer_package_item_id`\n- **Description:** UUID of a service in the purchased package.\n- **Type:** `string (uuid)`\n- **Refers to:** a `customer_package_items` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:customer_package_items,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:customer_package_items,uuid` — must reference an existing record (customer_package_items, uuid).\n### `address_id`\n- **Description:** UUID of the customer service address.\n- **Type:** `string (uuid)`\n- **Refers to:** a `customer_addresses` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:customer_addresses,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:customer_addresses,uuid` — must reference an existing record (customer_addresses, uuid).\n### `scheduled_at`\n- **Description:** Requested scheduled start as an ISO 8601 instant.\n- **Type:** `string (date)`\n- **Required:** required\n- **Example:** `2024-01-01`\n- **Validation rules:** `required|date`\n- `required` — must be provided.\n- `date` — must be a valid date.\n\n**Variables:**\n- Uses `{{my_package_id}}` — Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Prepaid session quote\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Foreign package not found on quote\n- `422` Missing quote fields\n- `422` No sessions remain — `error_code: PACKAGE_SESSION_UNAVAILABLE`\n- `422` Package has expired — `error_code: PACKAGE_NOT_ACTIVE`\n- `422` Package provider unavailable — `error_code: PACKAGE_SESSION_UNAVAILABLE`\n- `422` Package service unavailable — `error_code: PACKAGE_SESSION_UNAVAILABLE`\n- `422` Session starts after package expiry — `error_code: PACKAGE_SESSION_AFTER_EXPIRY`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"provider\": {\n            \"id\": \"01a17ce6-950b-71b7-92a8-1520d613ed99\",\n            \"name\": \"Leif Mueller DDS\"\n        },\n        \"address\": {\n            \"id\": \"01a17ce6-9508-7305-83c1-a5415930814c\",\n            \"text\": \"zrqlvzltcare\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a17ce6-9516-700a-aa34-95fbf01f9d67\",\n                \"name\": \"مكياج\",\n                \"base_price\": \"0.00\",\n                \"options\": [],\n                \"duration_min\": 90,\n                \"line_total\": \"0.00\"\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"20.00\",\n        \"distance_km\": \"0.000\",\n        \"eta_minutes\": null,\n        \"scheduled_at\": \"2026-10-28T06:00:00+00:00\",\n        \"package_amount\": \"0.00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"customer_package_item_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"scheduled_at\": \"2024-01-01\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Prepaid session quote",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.quote",
                                                "name": "Prepaid session quote",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions/quote",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-9546-700e-9f10-c83650a2218e",
                                                        "address_id": "01a17ce6-9508-7305-83c1-a5415930814c",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_013_quote_uses_prepaid_amounts_and_slots_use_snapshot_duration"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9545-7341-89d6-925172b4e9d9",
                                                        "sessions",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-9546-700e-9f10-c83650a2218e\",\n    \"address_id\": \"01a17ce6-9508-7305-83c1-a5415930814c\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"provider\": {\n            \"id\": \"01a17ce6-950b-71b7-92a8-1520d613ed99\",\n            \"name\": \"Leif Mueller DDS\"\n        },\n        \"address\": {\n            \"id\": \"01a17ce6-9508-7305-83c1-a5415930814c\",\n            \"text\": \"zrqlvzltcare\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a17ce6-9516-700a-aa34-95fbf01f9d67\",\n                \"name\": \"مكياج\",\n                \"base_price\": \"0.00\",\n                \"options\": [],\n                \"duration_min\": 90,\n                \"line_total\": \"0.00\"\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"20.00\",\n        \"distance_km\": \"0.000\",\n        \"eta_minutes\": null,\n        \"scheduled_at\": \"2026-10-28T06:00:00+00:00\",\n        \"package_amount\": \"0.00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        ":customerPackage",
                                                        "sessions",
                                                        "quote"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "customerPackage",
                                                            "value": "{{my_package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"scheduled_at\": \"2024-01-01\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        ":customerPackage",
                                                        "sessions",
                                                        "quote"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "customerPackage",
                                                            "value": "{{my_package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"scheduled_at\": \"2024-01-01\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Foreign package not found on quote",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.quote",
                                                "name": "Foreign package not found on quote",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-a6cd-701a-aacc-7d60e0878afd/sessions/quote",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-a6ce-70cf-bc18-bd962ed1c269",
                                                        "address_id": "01a17ce6-a69e-7376-8332-773c0c353055",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_another_customers_package_is_not_found"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-a6cd-701a-aacc-7d60e0878afd/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-a6cd-701a-aacc-7d60e0878afd",
                                                        "sessions",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-a6ce-70cf-bc18-bd962ed1c269\",\n    \"address_id\": \"01a17ce6-a69e-7376-8332-773c0c353055\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Missing quote fields",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.quote",
                                                "name": "Missing quote fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions/quote",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_013_quote_uses_prepaid_amounts_and_slots_use_snapshot_duration"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9545-7341-89d6-925172b4e9d9",
                                                        "sessions",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The customer package item id field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"customer_package_item_id\": [\n                \"The customer package item id field is required.\"\n            ],\n            \"address_id\": [\n                \"The address id field is required.\"\n            ],\n            \"scheduled_at\": [\n                \"The scheduled at field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 No sessions remain",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.quote",
                                                "name": "No sessions remain",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9ce4-716e-b2a1-5a27662dd999/sessions/quote",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-9ce7-73fb-88bf-1f8ddd0379de",
                                                        "address_id": "01a17ce6-9c90-7166-80fc-7b3ad1b0eb62",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_unavailable_session_reasons_are_public"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9ce4-716e-b2a1-5a27662dd999/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9ce4-716e-b2a1-5a27662dd999",
                                                        "sessions",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-9ce7-73fb-88bf-1f8ddd0379de\",\n    \"address_id\": \"01a17ce6-9c90-7166-80fc-7b3ad1b0eb62\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This package session is unavailable.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_SESSION_UNAVAILABLE\",\n        \"correlation_id\": \"3f646dd1-ccfb-4ceb-a526-afbe0dd7023f\",\n        \"reason\": \"no_sessions_left\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package has expired",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.quote",
                                                "name": "Package has expired",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9984-7037-8912-b718c5bb017f/sessions/quote",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-9985-72d5-909d-4e445e48b3d4",
                                                        "address_id": "01a17ce6-9958-7075-aef0-32089e795dd2",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_inactive_package_states_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9984-7037-8912-b718c5bb017f/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9984-7037-8912-b718c5bb017f",
                                                        "sessions",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-9985-72d5-909d-4e445e48b3d4\",\n    \"address_id\": \"01a17ce6-9958-7075-aef0-32089e795dd2\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This package is not active.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_NOT_ACTIVE\",\n        \"correlation_id\": \"6aff3a79-d884-4ab9-bb1f-87e46574260e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package provider unavailable",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.quote",
                                                "name": "Package provider unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9ce4-716e-b2a1-5a27662dd999/sessions/quote",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-9ce7-73fb-88bf-1f8ddd0379de",
                                                        "address_id": "01a17ce6-9c90-7166-80fc-7b3ad1b0eb62",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_unavailable_session_reasons_are_public"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9ce4-716e-b2a1-5a27662dd999/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9ce4-716e-b2a1-5a27662dd999",
                                                        "sessions",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-9ce7-73fb-88bf-1f8ddd0379de\",\n    \"address_id\": \"01a17ce6-9c90-7166-80fc-7b3ad1b0eb62\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This package session is unavailable.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_SESSION_UNAVAILABLE\",\n        \"correlation_id\": \"81b88d53-d09a-4571-9e58-c0fa8e68e619\",\n        \"reason\": \"provider_unavailable\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package service unavailable",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.quote",
                                                "name": "Package service unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9ce4-716e-b2a1-5a27662dd999/sessions/quote",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-9ce7-73fb-88bf-1f8ddd0379de",
                                                        "address_id": "01a17ce6-9c90-7166-80fc-7b3ad1b0eb62",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_unavailable_session_reasons_are_public"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9ce4-716e-b2a1-5a27662dd999/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9ce4-716e-b2a1-5a27662dd999",
                                                        "sessions",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-9ce7-73fb-88bf-1f8ddd0379de\",\n    \"address_id\": \"01a17ce6-9c90-7166-80fc-7b3ad1b0eb62\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This package session is unavailable.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_SESSION_UNAVAILABLE\",\n        \"correlation_id\": \"489b14f4-30a3-45be-aac1-77440f4595e1\",\n        \"reason\": \"service_unavailable\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Session starts after package expiry",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.quote",
                                                "name": "Session starts after package expiry",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-a40a-7224-a53a-f71d9dc79e30/sessions/quote",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-a40c-7087-b647-8e3a43819c43",
                                                        "address_id": "01a17ce6-a3df-72ee-92a2-1938952f80c7",
                                                        "scheduled_at": "2026-10-28T09:30:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_013_start_after_package_expiry_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-a40a-7224-a53a-f71d9dc79e30/sessions/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-a40a-7224-a53a-f71d9dc79e30",
                                                        "sessions",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-a40c-7087-b647-8e3a43819c43\",\n    \"address_id\": \"01a17ce6-a3df-72ee-92a2-1938952f80c7\",\n    \"scheduled_at\": \"2026-10-28T09:30:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The requested start is after the package expires.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_SESSION_AFTER_EXPIRY\",\n        \"correlation_id\": \"701f41d7-fdca-42f4-908b-befb23bc3076\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "my_package_id",
                                                "set_by": [
                                                    "client.my-packages.index",
                                                    "client.my-packages.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"my_package_id\",\"Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "my-packages",
                                                ":customerPackage",
                                                "sessions"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "customerPackage",
                                                    "value": "{{my_package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.my-packages.sessions.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:order-create`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `customer_package_item_id`\n- **Description:** UUID of a service in the purchased package.\n- **Type:** `string (uuid)`\n- **Refers to:** a `customer_package_items` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:customer_package_items,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:customer_package_items,uuid` — must reference an existing record (customer_package_items, uuid).\n### `address_id`\n- **Description:** UUID of the customer service address.\n- **Type:** `string (uuid)`\n- **Refers to:** a `customer_addresses` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:customer_addresses,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:customer_addresses,uuid` — must reference an existing record (customer_addresses, uuid).\n### `scheduled_at`\n- **Description:** Requested scheduled start as an ISO 8601 instant.\n- **Type:** `string (date)`\n- **Required:** required\n- **Example:** `2024-01-01`\n- **Validation rules:** `required|date`\n- `required` — must be provided.\n- `date` — must be a valid date.\n### `notes_to_provider`\n- **Description:** Optional note for the provider.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `nullable|string|max:1000`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n\n**Variables:**\n- Uses `{{my_package_id}}` — Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `201` Session booking created\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Foreign package not found on session create\n- `409` Session key reused with different input — `error_code: IDEMPOTENCY_KEY_REUSED`\n- `422` Missing session fields\n- `422` No session remains to book — `error_code: PACKAGE_SESSION_UNAVAILABLE`\n- `422` Package not active on session create — `error_code: PACKAGE_NOT_ACTIVE`\n- `422` Session create starts after package expiry — `error_code: PACKAGE_SESSION_AFTER_EXPIRY`\n- `429` Session rate limit exceeded — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17ce6-ac8d-7196-8537-9ebeaa86a52e\",\n        \"code\": \"JSH-224544\",\n        \"status\": {\n            \"value\": \"pending_provider\",\n            \"label\": \"Waiting for provider\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a17ce6-a9ae-715e-a585-c3ce002bc672\",\n            \"name\": \"Leopold Goyette\"\n        },\n        \"scheduled_at\": \"2026-10-28T06:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": 90,\n        \"address\": {\n            \"text\": \"bzwdzftaktrf\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a17ce6-ac92-7364-b7b4-88a39b7a8ad9\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 90,\n                \"unit_price\": \"0.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"0.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"20.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": \"2026-10-27T10:57:34+00:00\",\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-10-27T10:27:34+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-27T10:27:34+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"customer_package_item_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"scheduled_at\": \"2024-01-01\",\n    \"notes_to_provider\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Session booking created",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.store",
                                                "name": "Session booking created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-a9d9-73b9-95cc-0f6891f5cedb/sessions",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-a9da-722e-8059-2fd031eebd7f",
                                                        "address_id": "01a17ce6-a9ad-733f-9e1a-0ba8d48cd6b4",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00",
                                                        "notes_to_provider": "Please call"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_013_redemption_matches_quote_and_replay_holds_once"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-a9d9-73b9-95cc-0f6891f5cedb/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-a9d9-73b9-95cc-0f6891f5cedb",
                                                        "sessions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-a9da-722e-8059-2fd031eebd7f\",\n    \"address_id\": \"01a17ce6-a9ad-733f-9e1a-0ba8d48cd6b4\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\",\n    \"notes_to_provider\": \"Please call\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17ce6-ac8d-7196-8537-9ebeaa86a52e\",\n        \"code\": \"JSH-224544\",\n        \"status\": {\n            \"value\": \"pending_provider\",\n            \"label\": \"Waiting for provider\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a17ce6-a9ae-715e-a585-c3ce002bc672\",\n            \"name\": \"Leopold Goyette\"\n        },\n        \"scheduled_at\": \"2026-10-28T06:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": 90,\n        \"address\": {\n            \"text\": \"bzwdzftaktrf\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a17ce6-ac92-7364-b7b4-88a39b7a8ad9\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 90,\n                \"unit_price\": \"0.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"0.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"20.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": \"2026-10-27T10:57:34+00:00\",\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-10-27T10:27:34+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-27T10:27:34+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        ":customerPackage",
                                                        "sessions"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "customerPackage",
                                                            "value": "{{my_package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"scheduled_at\": \"2024-01-01\",\n    \"notes_to_provider\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/:customerPackage/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        ":customerPackage",
                                                        "sessions"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "customerPackage",
                                                            "value": "{{my_package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"scheduled_at\": \"2024-01-01\",\n    \"notes_to_provider\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Foreign package not found on session create",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.store",
                                                "name": "Foreign package not found on session create",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-a6cd-701a-aacc-7d60e0878afd/sessions",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-a6ce-70cf-bc18-bd962ed1c269",
                                                        "address_id": "01a17ce6-a69e-7376-8332-773c0c353055",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_another_customers_package_is_not_found"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-a6cd-701a-aacc-7d60e0878afd/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-a6cd-701a-aacc-7d60e0878afd",
                                                        "sessions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-a6ce-70cf-bc18-bd962ed1c269\",\n    \"address_id\": \"01a17ce6-a69e-7376-8332-773c0c353055\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "409 Session key reused with different input",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.store",
                                                "name": "Session key reused with different input",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-a9d9-73b9-95cc-0f6891f5cedb/sessions",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-a9da-722e-8059-2fd031eebd7f",
                                                        "address_id": "01a17ce6-a9ad-733f-9e1a-0ba8d48cd6b4",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00",
                                                        "notes_to_provider": "Changed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_013_redemption_matches_quote_and_replay_holds_once"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-a9d9-73b9-95cc-0f6891f5cedb/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-a9d9-73b9-95cc-0f6891f5cedb",
                                                        "sessions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-a9da-722e-8059-2fd031eebd7f\",\n    \"address_id\": \"01a17ce6-a9ad-733f-9e1a-0ba8d48cd6b4\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\",\n    \"notes_to_provider\": \"Changed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Idempotency-Key was already used with a different request.\",\n    \"data\": {\n        \"error_code\": \"IDEMPOTENCY_KEY_REUSED\",\n        \"correlation_id\": \"20672d3a-e633-4e1e-860f-518a8c6abd38\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing session fields",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.store",
                                                "name": "Missing session fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_013_quote_uses_prepaid_amounts_and_slots_use_snapshot_duration"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9545-7341-89d6-925172b4e9d9/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9545-7341-89d6-925172b4e9d9",
                                                        "sessions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The customer package item id field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"customer_package_item_id\": [\n                \"The customer package item id field is required.\"\n            ],\n            \"address_id\": [\n                \"The address id field is required.\"\n            ],\n            \"scheduled_at\": [\n                \"The scheduled at field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 No session remains to book",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.store",
                                                "name": "No session remains to book",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-ad47-7229-88db-7909185dba5e/sessions",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-ad49-7180-8439-60770e1dbde6",
                                                        "address_id": "01a17ce6-ad16-715e-986d-8173a5fb552b",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_last_session_cannot_be_redeemed_twice"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-ad47-7229-88db-7909185dba5e/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-ad47-7229-88db-7909185dba5e",
                                                        "sessions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-ad49-7180-8439-60770e1dbde6\",\n    \"address_id\": \"01a17ce6-ad16-715e-986d-8173a5fb552b\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This package session is unavailable.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_SESSION_UNAVAILABLE\",\n        \"correlation_id\": \"d5a9e112-d43a-4e5e-9923-02f16b9cde37\",\n        \"reason\": \"no_sessions_left\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package not active on session create",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.store",
                                                "name": "Package not active on session create",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-9984-7037-8912-b718c5bb017f/sessions",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-9985-72d5-909d-4e445e48b3d4",
                                                        "address_id": "01a17ce6-9958-7075-aef0-32089e795dd2",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_008_inactive_package_states_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-9984-7037-8912-b718c5bb017f/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-9984-7037-8912-b718c5bb017f",
                                                        "sessions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-9985-72d5-909d-4e445e48b3d4\",\n    \"address_id\": \"01a17ce6-9958-7075-aef0-32089e795dd2\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This package is not active.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_NOT_ACTIVE\",\n        \"correlation_id\": \"c1154359-0102-4da3-8b1e-d7579026324f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Session create starts after package expiry",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.store",
                                                "name": "Session create starts after package expiry",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-a40a-7224-a53a-f71d9dc79e30/sessions",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-a40c-7087-b647-8e3a43819c43",
                                                        "address_id": "01a17ce6-a3df-72ee-92a2-1938952f80c7",
                                                        "scheduled_at": "2026-10-28T09:30:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_013_start_after_package_expiry_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-a40a-7224-a53a-f71d9dc79e30/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-a40a-7224-a53a-f71d9dc79e30",
                                                        "sessions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-a40c-7087-b647-8e3a43819c43\",\n    \"address_id\": \"01a17ce6-a3df-72ee-92a2-1938952f80c7\",\n    \"scheduled_at\": \"2026-10-28T09:30:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The requested start is after the package expires.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_SESSION_AFTER_EXPIRY\",\n        \"correlation_id\": \"7bfcc42a-5f7a-4332-8e8f-cb3f4fde40fe\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Session rate limit exceeded",
                                            "_joshen": {
                                                "route": "client.my-packages.sessions.store",
                                                "name": "Session rate limit exceeded",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/my-packages/01a17ce6-e1f4-728f-80e6-9feadd33d5e1/sessions",
                                                    "query": null,
                                                    "body": {
                                                        "customer_package_item_id": "01a17ce6-e1f7-7308-8abb-ce33cb1082be",
                                                        "address_id": "01a17ce6-e1ab-712e-b4e8-046ce2c98146",
                                                        "scheduled_at": "2026-10-28T09:00:00+03:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_013_session_rate_limit_is_reported"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/my-packages/01a17ce6-e1f4-728f-80e6-9feadd33d5e1/sessions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "my-packages",
                                                        "01a17ce6-e1f4-728f-80e6-9feadd33d5e1",
                                                        "sessions"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"customer_package_item_id\": \"01a17ce6-e1f7-7308-8abb-ce33cb1082be\",\n    \"address_id\": \"01a17ce6-e1ab-712e-b4e8-046ce2c98146\",\n    \"scheduled_at\": \"2026-10-28T09:00:00+03:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "my_package_id",
                                                "set_by": [
                                                    "client.my-packages.index",
                                                    "client.my-packages.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/my-packages, GET /api/v1/client/my-packages/{customerPackage}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Packages",
                            "item": [
                                {
                                    "name": "Purchase",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/packages/:package/purchase",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "packages",
                                                ":package",
                                                "purchase"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.packages.purchase`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:order-create`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `201` Package purchase created\n- `201` Package purchase idempotent replay\n- `401` Purchase requires sign in — `error_code: UNAUTHENTICATED`\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Unknown package not found\n- `409` Purchase key reused for a different package — `error_code: IDEMPOTENCY_KEY_REUSED`\n- `422` Package no longer buyable — `error_code: PACKAGE_NOT_BUYABLE`\n- `429` Purchase rate limit exceeded — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a146-e686-739f-8cbd-46d83ff6b7a7\",\n        \"code\": \"JSH-207182\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1a146-e339-7201-831b-5b9a9c6b47ec\",\n            \"name\": \"Kian Kutch\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1a146-e68a-733a-b792-73c8e3989623\",\n                \"name\": \"Sample-jzdn08820426\",\n                \"duration_min\": null,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"100.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"100.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"100.00\",\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-03T11:59:00+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"customer_package_id\": \"01a1a146-e68d-73e6-a180-409bd1af50e4\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Package purchase created",
                                            "_joshen": {
                                                "route": "client.packages.purchase",
                                                "name": "Package purchase created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/01a1a146-e35e-714d-b64a-ddf3a2416f1b/purchase",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_purchase_endpoint_requires_authentication_and_replays"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/01a1a146-e35e-714d-b64a-ddf3a2416f1b/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "01a1a146-e35e-714d-b64a-ddf3a2416f1b",
                                                        "purchase"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a146-e686-739f-8cbd-46d83ff6b7a7\",\n        \"code\": \"JSH-207182\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1a146-e339-7201-831b-5b9a9c6b47ec\",\n            \"name\": \"Kian Kutch\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1a146-e68a-733a-b792-73c8e3989623\",\n                \"name\": \"Sample-jzdn08820426\",\n                \"duration_min\": null,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"100.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"100.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"100.00\",\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-03T11:59:00+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"customer_package_id\": \"01a1a146-e68d-73e6-a180-409bd1af50e4\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Package purchase idempotent replay",
                                            "_joshen": {
                                                "route": "client.packages.purchase",
                                                "name": "Package purchase idempotent replay",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/01a1a146-e35e-714d-b64a-ddf3a2416f1b/purchase",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_purchase_endpoint_requires_authentication_and_replays"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/01a1a146-e35e-714d-b64a-ddf3a2416f1b/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "01a1a146-e35e-714d-b64a-ddf3a2416f1b",
                                                        "purchase"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a146-e686-739f-8cbd-46d83ff6b7a7\",\n        \"code\": \"JSH-207182\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1a146-e339-7201-831b-5b9a9c6b47ec\",\n            \"name\": \"Kian Kutch\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1a146-e68a-733a-b792-73c8e3989623\",\n                \"name\": \"Sample-jzdn08820426\",\n                \"duration_min\": null,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"100.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"100.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"100.00\",\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-03T11:59:00+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"customer_package_id\": \"01a1a146-e68d-73e6-a180-409bd1af50e4\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Purchase requires sign in",
                                            "_joshen": {
                                                "route": "client.packages.purchase",
                                                "name": "Purchase requires sign in",
                                                "code": 401,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/packages/01a1a146-e35e-714d-b64a-ddf3a2416f1b/purchase",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_purchase_endpoint_requires_authentication_and_replays"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/01a1a146-e35e-714d-b64a-ddf3a2416f1b/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "01a1a146-e35e-714d-b64a-ddf3a2416f1b",
                                                        "purchase"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"غير مصرح، يجب تسجيل الدخول أولًا\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/:package/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        ":package",
                                                        "purchase"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/:package/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        ":package",
                                                        "purchase"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown package not found",
                                            "_joshen": {
                                                "route": "client.packages.purchase",
                                                "name": "Unknown package not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/00000000-0000-7000-8000-000000000000/purchase",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_purchase_endpoint_requires_authentication_and_replays"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/00000000-0000-7000-8000-000000000000/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "00000000-0000-7000-8000-000000000000",
                                                        "purchase"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "409 Purchase key reused for a different package",
                                            "_joshen": {
                                                "route": "client.packages.purchase",
                                                "name": "Purchase key reused for a different package",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/018fe748-120a-7c8a-af5a-5cdef7d7fb01/purchase",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_purchase_endpoint_requires_authentication_and_replays"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/018fe748-120a-7c8a-af5a-5cdef7d7fb01/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "018fe748-120a-7c8a-af5a-5cdef7d7fb01",
                                                        "purchase"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Idempotency-Key was already used with a different request.\",\n    \"data\": {\n        \"error_code\": \"IDEMPOTENCY_KEY_REUSED\",\n        \"correlation_id\": \"134dd663-29ee-4c7f-9d8d-c830d9e0fa4d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package no longer buyable",
                                            "_joshen": {
                                                "route": "client.packages.purchase",
                                                "name": "Package no longer buyable",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/01a1a146-e35e-714d-b64a-ddf3a2416f1b/purchase",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_purchase_endpoint_requires_authentication_and_replays"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/01a1a146-e35e-714d-b64a-ddf3a2416f1b/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "01a1a146-e35e-714d-b64a-ddf3a2416f1b",
                                                        "purchase"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This package is not currently offered.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_NOT_BUYABLE\",\n        \"context\": {\n            \"reason\": \"package_not_live\"\n        },\n        \"correlation_id\": \"5731975b-932a-4188-ab13-0c2a891be5b3\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Purchase rate limit exceeded",
                                            "_joshen": {
                                                "route": "client.packages.purchase",
                                                "name": "Purchase rate limit exceeded",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/01a1a146-eac6-72d3-8726-9ae5e9ec8bd1/purchase",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_008_purchase_rate_limit_is_reported"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/01a1a146-eac6-72d3-8726-9ae5e9ec8bd1/purchase",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "01a1a146-eac6-72d3-8726-9ae5e9ec8bd1",
                                                        "purchase"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Orders",
                            "item": [
                                {
                                    "name": "Quote",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/quote",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                "quote"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.quote`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `provider_id`\n- **Description:** UUID of the chosen provider; prices come from her provider_services rows.\n- **Type:** `string (uuid)`\n- **Refers to:** a `providers` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{provider_id}}`\n- **Validation rules:** `required|uuid|exists:providers,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:providers,uuid` — must reference an existing record (providers, uuid).\n### `address_id`\n- **Description:** UUID of this customer's live service address.\n- **Type:** `string (uuid)`\n- **Refers to:** a `customer_addresses` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:customer_addresses,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:customer_addresses,uuid` — must reference an existing record (customer_addresses, uuid).\n### `booking_type`\n- **Description:** instant or scheduled.\n- **Type:** `string (enum)`\n- **Allowed values:** `instant`, `scheduled`\n- **Required:** required\n- **Example:** `scheduled`\n- **Validation rules:** `required|in:\"instant\",\"scheduled\"`\n- `required` — must be provided.\n- `in:\"instant\",\"scheduled\"` — must be one of: \"instant\", \"scheduled\".\n### `scheduled_at`\n- **Description:** Scheduled ISO 8601 instant with offset; required for scheduled booking.\n- **Type:** `string (date)`\n- **Required:** conditional\n- **Example:** `2026-11-01T10:00:00+03:00`\n- **Validation rules:** `required_if:booking_type,scheduled|nullable|date`\n- `required_if:booking_type,scheduled` — required when booking_type, scheduled.\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `service_id`\n- **Description:** UUID of the selected type-1 bookable service. Absent on a group booking (use `people`).\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{service_id}}`\n- **Validation rules:** `required|uuid|exists:services,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n### `option_ids`\n- **Description:** Selected choice UUIDs, empty when no choices are needed.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[\"{{service_id}}\"]`\n- **Validation rules:** `present|array`\n- `present` — must be present (may be empty).\n- `array` — must be an array.\n### `option_ids.*`\n- **Description:** UUID of one active type-3 choice under the selected service.\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{service_id}}`\n- **Validation rules:** `required|uuid|exists:services,uuid|distinct`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n- `distinct` — must not repeat a value.\n### `coupon_code`\n- **Description:** Optional coupon code (TD-131, TD-148). The discount comes off the services amount only and Joshen funds it; an unusable code answers 422 with a COUPON_* error_code.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `WELCOME10`\n- **Validation rules:** `sometimes|nullable|string|max:40`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:40` — must not exceed 40.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n\n**Responses:**\n- `200` Group quote, two people\n- `200` Instant order quote\n- `200` Quote with a percent coupon\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Combined duration does not fit the provider working hours — `error_code: BOOKING_TIME_UNAVAILABLE`\n- `422` Coupon not started yet — `error_code: COUPON_EXPIRED`\n- `422` Coupon scoped to another category — `error_code: COUPON_NOT_APPLICABLE`\n- `422` Coupon total usage limit reached — `error_code: COUPON_USAGE_LIMIT_REACHED`\n- `422` Coupon would make the order free — `error_code: COUPON_FREE_ORDER`\n- `422` Customer already used the coupon — `error_code: COUPON_USAGE_LIMIT_REACHED`\n- `422` Fixed commission cannot be snapshotted — `error_code: COMMISSION_RULE_UNAVAILABLE`\n- `422` Group with a single person\n- `422` Group without the account owner — `error_code: INVALID_GROUP_BOOKING`\n- `422` Missing required booking fields\n- `422` No provider commission rule — `error_code: COMMISSION_RULE_UNAVAILABLE`\n- `422` One person asks for a service the provider does not offer — `error_code: PROVIDER_UNAVAILABLE`\n- `422` Required choice missing — `error_code: INVALID_SERVICE_OPTIONS`\n- `422` Services amount below the coupon minimum — `error_code: COUPON_MIN_ORDER_NOT_MET`\n- `422` Unknown coupon code — `error_code: COUPON_INVALID`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_group\": true,\n        \"provider\": {\n            \"id\": \"01a1bfbd-c9db-7134-bd57-4d61c4ba87e9\",\n            \"name\": \"Miss Lauryn Goyette I\"\n        },\n        \"address\": {\n            \"id\": \"01a1bfbd-c9d8-70a3-a652-ce3c4e354913\",\n            \"text\": \"mluyphzojyzi\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"people\": [\n            {\n                \"position\": 1,\n                \"label\": \"Mr. Jamie Blick\",\n                \"is_customer\": true,\n                \"services\": [\n                    {\n                        \"id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                        \"name\": \"Makeup\",\n                        \"base_price\": \"100.00\",\n                        \"options\": [\n                            {\n                                \"id\": \"01a1bfbd-c9ec-7238-b3d7-724051ce8079\",\n                                \"name\": \"Sample-qxjw85779482\",\n                                \"group_name\": \"Sample-jqvn24281809\",\n                                \"price\": \"30.00\"\n                            }\n                        ],\n                        \"duration_min\": 60,\n                        \"line_total\": \"130.00\"\n                    }\n                ],\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            },\n            {\n                \"position\": 2,\n                \"label\": \"جود الحربي\",\n                \"is_customer\": false,\n                \"services\": [\n                    {\n                        \"id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                        \"name\": \"Makeup\",\n                        \"base_price\": \"100.00\",\n                        \"options\": [\n                            {\n                                \"id\": \"01a1bfbd-c9f0-721c-bae1-050d53ba3b80\",\n                                \"name\": \"Sample-pbkt51075397\",\n                                \"group_name\": \"Sample-jqvn24281809\",\n                                \"price\": \"0.00\"\n                            }\n                        ],\n                        \"duration_min\": 70,\n                        \"line_total\": \"100.00\"\n                    },\n                    {\n                        \"id\": \"01a1bfbd-c9fa-704f-b956-58e6bada8efd\",\n                        \"name\": \"Lashes\",\n                        \"base_price\": \"50.00\",\n                        \"options\": [],\n                        \"duration_min\": 30,\n                        \"line_total\": \"50.00\"\n                    }\n                ],\n                \"services_count\": 2,\n                \"duration_min\": 100,\n                \"services_amount\": \"150.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                \"name\": \"Makeup\",\n                \"base_price\": \"100.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-c9ec-7238-b3d7-724051ce8079\",\n                        \"name\": \"Sample-qxjw85779482\",\n                        \"group_name\": \"Sample-jqvn24281809\",\n                        \"price\": \"30.00\"\n                    }\n                ],\n                \"duration_min\": 60,\n                \"line_total\": \"130.00\",\n                \"person\": 1\n            },\n            {\n                \"id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                \"name\": \"Makeup\",\n                \"base_price\": \"100.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-c9f0-721c-bae1-050d53ba3b80\",\n                        \"name\": \"Sample-pbkt51075397\",\n                        \"group_name\": \"Sample-jqvn24281809\",\n                        \"price\": \"0.00\"\n                    }\n                ],\n                \"duration_min\": 70,\n                \"line_total\": \"100.00\",\n                \"person\": 2\n            },\n            {\n                \"id\": \"01a1bfbd-c9fa-704f-b956-58e6bada8efd\",\n                \"name\": \"Lashes\",\n                \"base_price\": \"50.00\",\n                \"options\": [],\n                \"duration_min\": 30,\n                \"line_total\": \"50.00\",\n                \"person\": 2\n            }\n        ],\n        \"people_count\": 2,\n        \"services_count\": 3,\n        \"estimated_duration_min\": 160,\n        \"base_amount\": \"250.00\",\n        \"options_amount\": \"30.00\",\n        \"services_amount\": \"280.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"coupon\": null,\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"300.00\",\n        \"distance_km\": \"0.000\",\n        \"eta_minutes\": 45,\n        \"scheduled_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"provider_id\": \"{{provider_id}}\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"booking_type\": \"scheduled\",\n    \"scheduled_at\": \"2026-11-01T10:00:00+03:00\",\n    \"service_id\": \"{{service_id}}\",\n    \"option_ids\": [\n        \"{{service_id}}\"\n    ],\n    \"coupon_code\": \"WELCOME10\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Group quote, two people",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Group quote, two people",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1bfbd-c9d8-70a3-a652-ce3c4e354913",
                                                        "provider_id": "01a1bfbd-c9db-7134-bd57-4d61c4ba87e9",
                                                        "booking_type": "instant",
                                                        "people": [
                                                            {
                                                                "is_customer": true,
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-c9e4-7051-bc2f-18b7abd19e52",
                                                                        "option_ids": [
                                                                            "01a1bfbd-c9ec-7238-b3d7-724051ce8079"
                                                                        ]
                                                                    }
                                                                ]
                                                            },
                                                            {
                                                                "name": "جود الحربي",
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-c9e4-7051-bc2f-18b7abd19e52",
                                                                        "option_ids": [
                                                                            "01a1bfbd-c9f0-721c-bae1-050d53ba3b80"
                                                                        ]
                                                                    },
                                                                    {
                                                                        "service_id": "01a1bfbd-c9fa-704f-b956-58e6bada8efd",
                                                                        "option_ids": []
                                                                    }
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GroupBookingTest::test_d2_quote_sums_every_person_and_charges_one_delivery_fee"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1bfbd-c9d8-70a3-a652-ce3c4e354913\",\n    \"provider_id\": \"01a1bfbd-c9db-7134-bd57-4d61c4ba87e9\",\n    \"booking_type\": \"instant\",\n    \"people\": [\n        {\n            \"is_customer\": true,\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                    \"option_ids\": [\n                        \"01a1bfbd-c9ec-7238-b3d7-724051ce8079\"\n                    ]\n                }\n            ]\n        },\n        {\n            \"name\": \"جود الحربي\",\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                    \"option_ids\": [\n                        \"01a1bfbd-c9f0-721c-bae1-050d53ba3b80\"\n                    ]\n                },\n                {\n                    \"service_id\": \"01a1bfbd-c9fa-704f-b956-58e6bada8efd\",\n                    \"option_ids\": []\n                }\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_group\": true,\n        \"provider\": {\n            \"id\": \"01a1bfbd-c9db-7134-bd57-4d61c4ba87e9\",\n            \"name\": \"Miss Lauryn Goyette I\"\n        },\n        \"address\": {\n            \"id\": \"01a1bfbd-c9d8-70a3-a652-ce3c4e354913\",\n            \"text\": \"mluyphzojyzi\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"people\": [\n            {\n                \"position\": 1,\n                \"label\": \"Mr. Jamie Blick\",\n                \"is_customer\": true,\n                \"services\": [\n                    {\n                        \"id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                        \"name\": \"Makeup\",\n                        \"base_price\": \"100.00\",\n                        \"options\": [\n                            {\n                                \"id\": \"01a1bfbd-c9ec-7238-b3d7-724051ce8079\",\n                                \"name\": \"Sample-qxjw85779482\",\n                                \"group_name\": \"Sample-jqvn24281809\",\n                                \"price\": \"30.00\"\n                            }\n                        ],\n                        \"duration_min\": 60,\n                        \"line_total\": \"130.00\"\n                    }\n                ],\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            },\n            {\n                \"position\": 2,\n                \"label\": \"جود الحربي\",\n                \"is_customer\": false,\n                \"services\": [\n                    {\n                        \"id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                        \"name\": \"Makeup\",\n                        \"base_price\": \"100.00\",\n                        \"options\": [\n                            {\n                                \"id\": \"01a1bfbd-c9f0-721c-bae1-050d53ba3b80\",\n                                \"name\": \"Sample-pbkt51075397\",\n                                \"group_name\": \"Sample-jqvn24281809\",\n                                \"price\": \"0.00\"\n                            }\n                        ],\n                        \"duration_min\": 70,\n                        \"line_total\": \"100.00\"\n                    },\n                    {\n                        \"id\": \"01a1bfbd-c9fa-704f-b956-58e6bada8efd\",\n                        \"name\": \"Lashes\",\n                        \"base_price\": \"50.00\",\n                        \"options\": [],\n                        \"duration_min\": 30,\n                        \"line_total\": \"50.00\"\n                    }\n                ],\n                \"services_count\": 2,\n                \"duration_min\": 100,\n                \"services_amount\": \"150.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                \"name\": \"Makeup\",\n                \"base_price\": \"100.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-c9ec-7238-b3d7-724051ce8079\",\n                        \"name\": \"Sample-qxjw85779482\",\n                        \"group_name\": \"Sample-jqvn24281809\",\n                        \"price\": \"30.00\"\n                    }\n                ],\n                \"duration_min\": 60,\n                \"line_total\": \"130.00\",\n                \"person\": 1\n            },\n            {\n                \"id\": \"01a1bfbd-c9e4-7051-bc2f-18b7abd19e52\",\n                \"name\": \"Makeup\",\n                \"base_price\": \"100.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-c9f0-721c-bae1-050d53ba3b80\",\n                        \"name\": \"Sample-pbkt51075397\",\n                        \"group_name\": \"Sample-jqvn24281809\",\n                        \"price\": \"0.00\"\n                    }\n                ],\n                \"duration_min\": 70,\n                \"line_total\": \"100.00\",\n                \"person\": 2\n            },\n            {\n                \"id\": \"01a1bfbd-c9fa-704f-b956-58e6bada8efd\",\n                \"name\": \"Lashes\",\n                \"base_price\": \"50.00\",\n                \"options\": [],\n                \"duration_min\": 30,\n                \"line_total\": \"50.00\",\n                \"person\": 2\n            }\n        ],\n        \"people_count\": 2,\n        \"services_count\": 3,\n        \"estimated_duration_min\": 160,\n        \"base_amount\": \"250.00\",\n        \"options_amount\": \"30.00\",\n        \"services_amount\": \"280.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"coupon\": null,\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"300.00\",\n        \"distance_km\": \"0.000\",\n        \"eta_minutes\": 45,\n        \"scheduled_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Instant order quote",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Instant order quote",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1c637-4012-7362-a02f-f3fe151bc4ab",
                                                        "provider_id": "01a1c637-4013-72d7-81c1-af2292525562",
                                                        "service_id": "01a1c637-401b-7070-bb12-5195be1f961b",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1c637-4022-738a-a62f-29e0cec34467"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_010_011_provider_list_and_quote_use_selected_price_and_delivery_fee"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1c637-4012-7362-a02f-f3fe151bc4ab\",\n    \"provider_id\": \"01a1c637-4013-72d7-81c1-af2292525562\",\n    \"service_id\": \"01a1c637-401b-7070-bb12-5195be1f961b\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1c637-4022-738a-a62f-29e0cec34467\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"provider\": {\n            \"id\": \"01a1c637-4013-72d7-81c1-af2292525562\",\n            \"name\": \"Alia Kuvalis\"\n        },\n        \"address\": {\n            \"id\": \"01a1c637-4012-7362-a02f-f3fe151bc4ab\",\n            \"text\": \"nzddxhvaugrw\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1c637-401b-7070-bb12-5195be1f961b\",\n                \"name\": \"Makeup\",\n                \"base_price\": \"100.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-4022-738a-a62f-29e0cec34467\",\n                        \"name\": \"Sample-nsjn08329933\",\n                        \"group_name\": \"Sample-pfgj75973678\",\n                        \"price\": \"30.00\"\n                    }\n                ],\n                \"duration_min\": 60,\n                \"line_total\": \"130.00\"\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"coupon\": null,\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"150.00\",\n        \"distance_km\": \"0.000\",\n        \"eta_minutes\": 45,\n        \"scheduled_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Quote with a percent coupon",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Quote with a percent coupon",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-16a6-71c7-b63e-8c325f445acc",
                                                        "provider_id": "01a196be-16aa-70e4-ae01-d8d4e2d1a9a3",
                                                        "service_id": "01a196be-16b5-701b-b4c4-caf983c30065",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-16be-70d7-b1d8-4553ea92ed5a"
                                                        ],
                                                        "coupon_code": "pct"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_011_quote_applies_a_percent_coupon_rounded_half_up_and_leaves_delivery_alone"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-16a6-71c7-b63e-8c325f445acc\",\n    \"provider_id\": \"01a196be-16aa-70e4-ae01-d8d4e2d1a9a3\",\n    \"service_id\": \"01a196be-16b5-701b-b4c4-caf983c30065\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-16be-70d7-b1d8-4553ea92ed5a\"\n    ],\n    \"coupon_code\": \"pct\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"provider\": {\n            \"id\": \"01a196be-16aa-70e4-ae01-d8d4e2d1a9a3\",\n            \"name\": \"Ms. Lavinia Gutmann\"\n        },\n        \"address\": {\n            \"id\": \"01a196be-16a6-71c7-b63e-8c325f445acc\",\n            \"text\": \"xessssohrdgb\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a196be-16b5-701b-b4c4-caf983c30065\",\n                \"name\": \"Makeup\",\n                \"base_price\": \"100.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a196be-16be-70d7-b1d8-4553ea92ed5a\",\n                        \"name\": \"Sample-sphs03399968\",\n                        \"group_name\": \"Sample-iokp39071853\",\n                        \"price\": \"30.00\"\n                    }\n                ],\n                \"duration_min\": 60,\n                \"line_total\": \"130.00\"\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"13.07\",\n        \"coupon\": {\n            \"code\": \"PCT\",\n            \"discount_amount\": \"13.07\",\n            \"funded_by\": {\n                \"value\": \"platform\",\n                \"label\": \"Joshen\"\n            }\n        },\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"136.93\",\n        \"distance_km\": \"0.000\",\n        \"eta_minutes\": 45,\n        \"scheduled_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"provider_id\": \"{{provider_id}}\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"booking_type\": \"scheduled\",\n    \"scheduled_at\": \"2026-11-01T10:00:00+03:00\",\n    \"service_id\": \"{{service_id}}\",\n    \"option_ids\": [\n        \"{{service_id}}\"\n    ],\n    \"coupon_code\": \"WELCOME10\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"provider_id\": \"{{provider_id}}\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"booking_type\": \"scheduled\",\n    \"scheduled_at\": \"2026-11-01T10:00:00+03:00\",\n    \"service_id\": \"{{service_id}}\",\n    \"option_ids\": [\n        \"{{service_id}}\"\n    ],\n    \"coupon_code\": \"WELCOME10\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Combined duration does not fit the provider working hours",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Combined duration does not fit the provider working hours",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1bfbd-ec04-7285-b7d7-9448387d5606",
                                                        "provider_id": "01a1bfbd-ec06-7030-88cc-8d96639e4dcb",
                                                        "booking_type": "instant",
                                                        "people": [
                                                            {
                                                                "is_customer": true,
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-ec13-70e0-bea2-cb56147b3851",
                                                                        "option_ids": [
                                                                            "01a1bfbd-ec1f-7045-acc7-b8c9633bf71f"
                                                                        ]
                                                                    }
                                                                ]
                                                            },
                                                            {
                                                                "name": "جود الحربي",
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-ec13-70e0-bea2-cb56147b3851",
                                                                        "option_ids": [
                                                                            "01a1bfbd-ec25-700c-a2e9-b6357c7167a7"
                                                                        ]
                                                                    },
                                                                    {
                                                                        "service_id": "01a1bfbd-ec3a-732f-861d-ae1a32f19dce",
                                                                        "option_ids": []
                                                                    }
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GroupBookingTest::test_d2_total_duration_must_fit_the_provider_day"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1bfbd-ec04-7285-b7d7-9448387d5606\",\n    \"provider_id\": \"01a1bfbd-ec06-7030-88cc-8d96639e4dcb\",\n    \"booking_type\": \"instant\",\n    \"people\": [\n        {\n            \"is_customer\": true,\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-ec13-70e0-bea2-cb56147b3851\",\n                    \"option_ids\": [\n                        \"01a1bfbd-ec1f-7045-acc7-b8c9633bf71f\"\n                    ]\n                }\n            ]\n        },\n        {\n            \"name\": \"جود الحربي\",\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-ec13-70e0-bea2-cb56147b3851\",\n                    \"option_ids\": [\n                        \"01a1bfbd-ec25-700c-a2e9-b6357c7167a7\"\n                    ]\n                },\n                {\n                    \"service_id\": \"01a1bfbd-ec3a-732f-861d-ae1a32f19dce\",\n                    \"option_ids\": []\n                }\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The requested booking time is unavailable.\",\n    \"data\": {\n        \"error_code\": \"BOOKING_TIME_UNAVAILABLE\",\n        \"correlation_id\": \"a2f148bc-4079-4244-bec6-31401f86d635\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon not started yet",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Coupon not started yet",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-2891-73a3-8808-9e468956da75",
                                                        "provider_id": "01a196be-2892-72f6-9912-ea1b6fb01173",
                                                        "service_id": "01a196be-289b-73f2-8d57-0f0f148e522c",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-28a4-7156-9a30-a474547e06c7"
                                                        ],
                                                        "coupon_code": "LATER"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_011_coupon_outside_its_dates_is_expired"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-2891-73a3-8808-9e468956da75\",\n    \"provider_id\": \"01a196be-2892-72f6-9912-ea1b6fb01173\",\n    \"service_id\": \"01a196be-289b-73f2-8d57-0f0f148e522c\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-28a4-7156-9a30-a474547e06c7\"\n    ],\n    \"coupon_code\": \"LATER\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This coupon is not active at this time.\",\n    \"data\": {\n        \"error_code\": \"COUPON_EXPIRED\",\n        \"correlation_id\": \"05e05cff-08bc-4844-8393-43f058b750de\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon scoped to another category",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Coupon scoped to another category",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-2b8f-7209-bb08-56ccb36fb6f3",
                                                        "provider_id": "01a196be-2b91-71b5-8472-3df3ff70644c",
                                                        "service_id": "01a196be-2b99-7305-89c4-d6eeffce96cf",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-2ba1-712c-81f2-784de0372153"
                                                        ],
                                                        "coupon_code": "CATX"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_011_scope_mismatch_is_not_applicable_and_a_matching_scope_applies"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-2b8f-7209-bb08-56ccb36fb6f3\",\n    \"provider_id\": \"01a196be-2b91-71b5-8472-3df3ff70644c\",\n    \"service_id\": \"01a196be-2b99-7305-89c4-d6eeffce96cf\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-2ba1-712c-81f2-784de0372153\"\n    ],\n    \"coupon_code\": \"CATX\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This coupon does not apply to this service or provider.\",\n    \"data\": {\n        \"error_code\": \"COUPON_NOT_APPLICABLE\",\n        \"correlation_id\": \"9f64acc8-1df5-47f6-9b04-6619b002cfca\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon total usage limit reached",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Coupon total usage limit reached",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-365e-71bc-8c03-c866c6d59fcf",
                                                        "provider_id": "01a196be-3661-7209-b699-a7bd755a201f",
                                                        "service_id": "01a196be-3670-73f9-a1df-de1dbd408672",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-3679-7341-811c-12f3f026c759"
                                                        ],
                                                        "coupon_code": "TOTAL"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_011_total_and_per_customer_limits_count_live_redemptions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-365e-71bc-8c03-c866c6d59fcf\",\n    \"provider_id\": \"01a196be-3661-7209-b699-a7bd755a201f\",\n    \"service_id\": \"01a196be-3670-73f9-a1df-de1dbd408672\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-3679-7341-811c-12f3f026c759\"\n    ],\n    \"coupon_code\": \"TOTAL\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This coupon has reached its usage limit.\",\n    \"data\": {\n        \"error_code\": \"COUPON_USAGE_LIMIT_REACHED\",\n        \"correlation_id\": \"148ff2e8-1617-4c7b-9966-606b024763d4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon would make the order free",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Coupon would make the order free",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-2fa9-731f-a61a-c46f1dc6dfb4",
                                                        "provider_id": "01a196be-2fab-7267-92e4-6c530734153b",
                                                        "service_id": "01a196be-2fb6-7352-9cc6-0064e49d1248",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-2fbd-713e-a8e4-1e2085d480bf"
                                                        ],
                                                        "coupon_code": "SAVE10"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_011_a_coupon_that_would_make_the_order_free_has_its_own_error_code"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-2fa9-731f-a61a-c46f1dc6dfb4\",\n    \"provider_id\": \"01a196be-2fab-7267-92e4-6c530734153b\",\n    \"service_id\": \"01a196be-2fb6-7352-9cc6-0064e49d1248\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-2fbd-713e-a8e4-1e2085d480bf\"\n    ],\n    \"coupon_code\": \"SAVE10\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A coupon cannot bring the order total to zero.\",\n    \"data\": {\n        \"error_code\": \"COUPON_FREE_ORDER\",\n        \"correlation_id\": \"b59daa00-df70-48c9-b463-7b6a9d7e585d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Customer already used the coupon",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Customer already used the coupon",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-365e-71bc-8c03-c866c6d59fcf",
                                                        "provider_id": "01a196be-3661-7209-b699-a7bd755a201f",
                                                        "service_id": "01a196be-3670-73f9-a1df-de1dbd408672",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-3679-7341-811c-12f3f026c759"
                                                        ],
                                                        "coupon_code": "ONEEACH"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_011_total_and_per_customer_limits_count_live_redemptions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-365e-71bc-8c03-c866c6d59fcf\",\n    \"provider_id\": \"01a196be-3661-7209-b699-a7bd755a201f\",\n    \"service_id\": \"01a196be-3670-73f9-a1df-de1dbd408672\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-3679-7341-811c-12f3f026c759\"\n    ],\n    \"coupon_code\": \"ONEEACH\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This coupon has reached its usage limit.\",\n    \"data\": {\n        \"error_code\": \"COUPON_USAGE_LIMIT_REACHED\",\n        \"correlation_id\": \"2eb7460b-729d-4fbd-907e-1cabf989ef9e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Fixed commission cannot be snapshotted",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Fixed commission cannot be snapshotted",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1c637-467c-7066-b5b7-7ede1ee9f9c5",
                                                        "provider_id": "01a1c637-467d-7000-a93a-1223fd89662f",
                                                        "service_id": "01a1c637-4685-7316-96b3-288665f6a658",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1c637-468b-721c-87af-4a78628002a4"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_011_quote_rejects_missing_or_fixed_provider_commission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1c637-467c-7066-b5b7-7ede1ee9f9c5\",\n    \"provider_id\": \"01a1c637-467d-7000-a93a-1223fd89662f\",\n    \"service_id\": \"01a1c637-4685-7316-96b3-288665f6a658\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1c637-468b-721c-87af-4a78628002a4\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Booking is temporarily unavailable. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"COMMISSION_RULE_UNAVAILABLE\",\n        \"correlation_id\": \"c07531b3-dc63-49dc-8aae-578d56c96eb5\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Group with a single person",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Group with a single person",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1bfbd-daaa-71c3-b205-77c0b8933ef2",
                                                        "provider_id": "01a1bfbd-daab-7148-a4d1-03d80441b903",
                                                        "booking_type": "instant",
                                                        "people": [
                                                            {
                                                                "is_customer": true,
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-dab4-7090-bfdb-1e4dac45074d",
                                                                        "option_ids": [
                                                                            "01a1bfbd-daba-73a4-a187-43a930d143cc"
                                                                        ]
                                                                    }
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GroupBookingTest::test_d2_shape_rules_refuse_one_person_mixed_fields_coupons_and_oversize_groups"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1bfbd-daaa-71c3-b205-77c0b8933ef2\",\n    \"provider_id\": \"01a1bfbd-daab-7148-a4d1-03d80441b903\",\n    \"booking_type\": \"instant\",\n    \"people\": [\n        {\n            \"is_customer\": true,\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-dab4-7090-bfdb-1e4dac45074d\",\n                    \"option_ids\": [\n                        \"01a1bfbd-daba-73a4-a187-43a930d143cc\"\n                    ]\n                }\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The people field must have at least 2 items.\",\n    \"data\": {\n        \"errors\": {\n            \"people\": [\n                \"The people field must have at least 2 items.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Group without the account owner",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Group without the account owner",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1bfbd-d81e-70e3-a72b-205d8977a176",
                                                        "provider_id": "01a1bfbd-d81f-72a4-b406-013d095ff8b2",
                                                        "booking_type": "instant",
                                                        "people": [
                                                            {
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-d828-71a5-84b6-b38c8d0c27fe",
                                                                        "option_ids": [
                                                                            "01a1bfbd-d830-73a4-b627-95c456239891"
                                                                        ]
                                                                    }
                                                                ]
                                                            },
                                                            {
                                                                "name": "جود الحربي",
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-d828-71a5-84b6-b38c8d0c27fe",
                                                                        "option_ids": [
                                                                            "01a1bfbd-d833-72d4-bbb4-eb66a33bc7d0"
                                                                        ]
                                                                    },
                                                                    {
                                                                        "service_id": "01a1bfbd-d83e-70d8-ba85-a06d9d9f3935",
                                                                        "option_ids": []
                                                                    }
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GroupBookingTest::test_d2_people_list_must_have_one_owner_and_named_companions"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1bfbd-d81e-70e3-a72b-205d8977a176\",\n    \"provider_id\": \"01a1bfbd-d81f-72a4-b406-013d095ff8b2\",\n    \"booking_type\": \"instant\",\n    \"people\": [\n        {\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-d828-71a5-84b6-b38c8d0c27fe\",\n                    \"option_ids\": [\n                        \"01a1bfbd-d830-73a4-b627-95c456239891\"\n                    ]\n                }\n            ]\n        },\n        {\n            \"name\": \"جود الحربي\",\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-d828-71a5-84b6-b38c8d0c27fe\",\n                    \"option_ids\": [\n                        \"01a1bfbd-d833-72d4-bbb4-eb66a33bc7d0\"\n                    ]\n                },\n                {\n                    \"service_id\": \"01a1bfbd-d83e-70d8-ba85-a06d9d9f3935\",\n                    \"option_ids\": []\n                }\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The group booking is invalid: it needs the account owner, a name for each companion, at least one service per person, and no more than the maximum number of people.\",\n    \"data\": {\n        \"error_code\": \"INVALID_GROUP_BOOKING\",\n        \"correlation_id\": \"4fb19889-ed0e-4b2f-9766-a90a2dc097d7\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required booking fields",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Missing required booking fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_014_booking_request_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The provider id field is required. (and 4 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"provider_id\": [\n                \"The provider id field is required.\"\n            ],\n            \"address_id\": [\n                \"The address id field is required.\"\n            ],\n            \"booking_type\": [\n                \"The booking type field is required.\"\n            ],\n            \"service_id\": [\n                \"The service id field is required.\"\n            ],\n            \"option_ids\": [\n                \"The option ids field must be present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 No provider commission rule",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "No provider commission rule",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1c637-467c-7066-b5b7-7ede1ee9f9c5",
                                                        "provider_id": "01a1c637-467d-7000-a93a-1223fd89662f",
                                                        "service_id": "01a1c637-4685-7316-96b3-288665f6a658",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1c637-468b-721c-87af-4a78628002a4"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_011_quote_rejects_missing_or_fixed_provider_commission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1c637-467c-7066-b5b7-7ede1ee9f9c5\",\n    \"provider_id\": \"01a1c637-467d-7000-a93a-1223fd89662f\",\n    \"service_id\": \"01a1c637-4685-7316-96b3-288665f6a658\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1c637-468b-721c-87af-4a78628002a4\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Booking is temporarily unavailable. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"COMMISSION_RULE_UNAVAILABLE\",\n        \"correlation_id\": \"0c9207db-a6e3-49f7-81c1-6f471d109d46\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 One person asks for a service the provider does not offer",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "One person asks for a service the provider does not offer",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1bfbd-dd10-7301-b9d9-0cfb33d6e81a",
                                                        "provider_id": "01a1bfbd-dd11-713e-859f-63ab47471a14",
                                                        "booking_type": "instant",
                                                        "people": [
                                                            {
                                                                "is_customer": true,
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-dd1a-72fc-a694-fe5890753d6f",
                                                                        "option_ids": [
                                                                            "01a1bfbd-dd20-7131-8575-c733c81dbcae"
                                                                        ]
                                                                    }
                                                                ]
                                                            },
                                                            {
                                                                "name": "جود الحربي",
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-dd1a-72fc-a694-fe5890753d6f",
                                                                        "option_ids": [
                                                                            "01a1bfbd-dd24-73c6-8f01-e93bf16f78fd"
                                                                        ]
                                                                    },
                                                                    {
                                                                        "service_id": "01a1bfbd-dd32-7314-a569-ae38e01a9f73",
                                                                        "option_ids": []
                                                                    },
                                                                    {
                                                                        "service_id": "01a1bfbd-dd35-71e3-916b-ea3144fa3d96",
                                                                        "option_ids": []
                                                                    }
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GroupBookingTest::test_d2_every_person_must_be_servable_by_the_chosen_provider"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1bfbd-dd10-7301-b9d9-0cfb33d6e81a\",\n    \"provider_id\": \"01a1bfbd-dd11-713e-859f-63ab47471a14\",\n    \"booking_type\": \"instant\",\n    \"people\": [\n        {\n            \"is_customer\": true,\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-dd1a-72fc-a694-fe5890753d6f\",\n                    \"option_ids\": [\n                        \"01a1bfbd-dd20-7131-8575-c733c81dbcae\"\n                    ]\n                }\n            ]\n        },\n        {\n            \"name\": \"جود الحربي\",\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-dd1a-72fc-a694-fe5890753d6f\",\n                    \"option_ids\": [\n                        \"01a1bfbd-dd24-73c6-8f01-e93bf16f78fd\"\n                    ]\n                },\n                {\n                    \"service_id\": \"01a1bfbd-dd32-7314-a569-ae38e01a9f73\",\n                    \"option_ids\": []\n                },\n                {\n                    \"service_id\": \"01a1bfbd-dd35-71e3-916b-ea3144fa3d96\",\n                    \"option_ids\": []\n                }\n            ]\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This provider is unavailable for the selected service and address.\",\n    \"data\": {\n        \"error_code\": \"PROVIDER_UNAVAILABLE\",\n        \"correlation_id\": \"df26ef99-add7-4296-93fa-7359acff5e2d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Required choice missing",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Required choice missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1c637-4012-7362-a02f-f3fe151bc4ab",
                                                        "provider_id": "01a1c637-4013-72d7-81c1-af2292525562",
                                                        "service_id": "01a1c637-401b-7070-bb12-5195be1f961b",
                                                        "booking_type": "instant",
                                                        "option_ids": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_010_011_provider_list_and_quote_use_selected_price_and_delivery_fee"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1c637-4012-7362-a02f-f3fe151bc4ab\",\n    \"provider_id\": \"01a1c637-4013-72d7-81c1-af2292525562\",\n    \"service_id\": \"01a1c637-401b-7070-bb12-5195be1f961b\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected service options are incomplete or unavailable.\",\n    \"data\": {\n        \"error_code\": \"INVALID_SERVICE_OPTIONS\",\n        \"correlation_id\": \"0a8144b1-b12a-4063-af77-33b498ab3a90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Services amount below the coupon minimum",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Services amount below the coupon minimum",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-32af-70a3-8838-9abe04066b49",
                                                        "provider_id": "01a196be-32b1-7115-8b43-4b36b12c68d6",
                                                        "service_id": "01a196be-32bb-7045-8b50-67a8a8456cfb",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-32c4-705f-887f-d6a2b2146eca"
                                                        ],
                                                        "coupon_code": "MIN140"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_011_services_below_the_minimum_are_refused_and_delivery_does_not_count"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-32af-70a3-8838-9abe04066b49\",\n    \"provider_id\": \"01a196be-32b1-7115-8b43-4b36b12c68d6\",\n    \"service_id\": \"01a196be-32bb-7045-8b50-67a8a8456cfb\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-32c4-705f-887f-d6a2b2146eca\"\n    ],\n    \"coupon_code\": \"MIN140\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The services amount is below the coupon minimum.\",\n    \"data\": {\n        \"error_code\": \"COUPON_MIN_ORDER_NOT_MET\",\n        \"correlation_id\": \"58c084d0-157f-4ea5-bd94-85cf5ea21303\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown coupon code",
                                            "_joshen": {
                                                "route": "client.orders.quote",
                                                "name": "Unknown coupon code",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/quote",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-25b4-712f-85c5-e27aed7f091a",
                                                        "provider_id": "01a196be-25b5-71a0-995b-3c97d3d79ff0",
                                                        "service_id": "01a196be-25c1-720d-9906-dc4ab041dfab",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-25c8-734e-983e-9a5409f57933"
                                                        ],
                                                        "coupon_code": "NOPE"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_011_unknown_inactive_and_provider_funded_coupons_are_invalid"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/quote",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "quote"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-25b4-712f-85c5-e27aed7f091a\",\n    \"provider_id\": \"01a196be-25b5-71a0-995b-3c97d3d79ff0\",\n    \"service_id\": \"01a196be-25c1-720d-9906-dc4ab041dfab\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-25c8-734e-983e-9a5409f57933\"\n    ],\n    \"coupon_code\": \"NOPE\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This coupon code is not valid.\",\n    \"data\": {\n        \"error_code\": \"COUPON_INVALID\",\n        \"correlation_id\": \"2fc9379c-8277-4d78-8393-aab1a92977e0\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"order_idempotency_key\",\"Choose a new key for each intended order; reuse the same key when retrying POST client/orders.\"],[\"provider_id\",\"Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\"],[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"order_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            },
                                            {
                                                "key": "Idempotency-Key",
                                                "value": "{{order_idempotency_key}}",
                                                "description": "Use one new key for each intended order and keep it unchanged for retries."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:order-create`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `provider_id`\n- **Description:** UUID of the chosen provider; prices come from her provider_services rows.\n- **Type:** `string (uuid)`\n- **Refers to:** a `providers` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{provider_id}}`\n- **Validation rules:** `required|uuid|exists:providers,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:providers,uuid` — must reference an existing record (providers, uuid).\n### `address_id`\n- **Description:** UUID of this customer's live service address.\n- **Type:** `string (uuid)`\n- **Refers to:** a `customer_addresses` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:customer_addresses,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:customer_addresses,uuid` — must reference an existing record (customer_addresses, uuid).\n### `booking_type`\n- **Description:** instant or scheduled.\n- **Type:** `string (enum)`\n- **Allowed values:** `instant`, `scheduled`\n- **Required:** required\n- **Example:** `scheduled`\n- **Validation rules:** `required|in:\"instant\",\"scheduled\"`\n- `required` — must be provided.\n- `in:\"instant\",\"scheduled\"` — must be one of: \"instant\", \"scheduled\".\n### `scheduled_at`\n- **Description:** Scheduled ISO 8601 instant with offset; required for scheduled booking.\n- **Type:** `string (date)`\n- **Required:** conditional\n- **Example:** `2026-11-01T10:00:00+03:00`\n- **Validation rules:** `required_if:booking_type,scheduled|nullable|date`\n- `required_if:booking_type,scheduled` — required when booking_type, scheduled.\n- `nullable` — may be null.\n- `date` — must be a valid date.\n### `service_id`\n- **Description:** UUID of the selected type-1 bookable service. Absent on a group booking (use `people`).\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{service_id}}`\n- **Validation rules:** `required|uuid|exists:services,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n### `option_ids`\n- **Description:** Selected choice UUIDs, empty when no choices are needed.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[\"{{service_id}}\"]`\n- **Validation rules:** `present|array`\n- `present` — must be present (may be empty).\n- `array` — must be an array.\n### `option_ids.*`\n- **Description:** UUID of one active type-3 choice under the selected service.\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{service_id}}`\n- **Validation rules:** `required|uuid|exists:services,uuid|distinct`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n- `distinct` — must not repeat a value.\n### `coupon_code`\n- **Description:** Optional coupon code (TD-131, TD-148). The discount comes off the services amount only and Joshen funds it; an unusable code answers 422 with a COUPON_* error_code.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `WELCOME10`\n- **Validation rules:** `sometimes|nullable|string|max:40`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:40` — must not exceed 40.\n### `source`\n- **Description:** Booking origin: browse, search, or joshen_finder.\n- **Type:** `string (enum)`\n- **Allowed values:** `browse`, `search`, `joshen_finder`\n- **Required:** required\n- **Example:** `browse`\n- **Validation rules:** `required|in:\"browse\",\"search\",\"joshen_finder\"`\n- `required` — must be provided.\n- `in:\"browse\",\"search\",\"joshen_finder\"` — must be one of: \"browse\", \"search\", \"joshen_finder\".\n### `finder_search_id`\n- **Description:** Required finder search UUID only when source is joshen_finder (CUST-009).\n- **Type:** `string (uuid)`\n- **Refers to:** a `finder_searches` record — send its uuid `id` (TD-19)\n- **Required:** conditional\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required_if:source,joshen_finder|prohibited_unless:source,joshen_finder|nullable|string|max:64|uuid|exists:finder_searches,uuid`\n- `required_if:source,joshen_finder` — required when source, joshen_finder.\n- `prohibited_unless:source,joshen_finder` — custom validation rule.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:64` — must not exceed 64.\n- `uuid` — must be a uuid.\n- `exists:finder_searches,uuid` — must reference an existing record (finder_searches, uuid).\n### `notes_to_provider`\n- **Description:** Optional note shown to the selected provider.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `nullable|string|max:1000`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{order_idempotency_key}}` — Choose a new key for each intended order; reuse the same key when retrying POST client/orders.\n- Uses `{{provider_id}}` — Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers.\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Saves `order_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Group order created\n- `201` Instant order created\n- `201` Order created from a Joshen finder search\n- `201` Order created with a coupon\n- `201` Signed-in customer claims matching guest search\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Idempotency key reused with another body — `error_code: IDEMPOTENCY_KEY_REUSED`\n- `422` Another customer cannot claim a guest search twice — `error_code: FINDER_SEARCH_NOT_LINKABLE`\n- `422` Coupon used up before checkout — `error_code: COUPON_USAGE_LIMIT_REACHED`\n- `422` Create blocked by fixed commission rule — `error_code: COMMISSION_RULE_UNAVAILABLE`\n- `422` Create blocked by missing commission rule — `error_code: COMMISSION_RULE_UNAVAILABLE`\n- `422` Missing required booking fields\n- `429` Too many order requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1bfbd-cffb-70f6-bc31-71397263146d\",\n        \"code\": \"JSH-996306\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1bfbd-cd4d-71da-949f-613f64357c98\",\n            \"name\": \"April Prosacco\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 160,\n        \"address\": {\n            \"text\": \"htgepxxbefqt\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": true,\n        \"people\": [\n            {\n                \"id\": \"01a1bfbd-cffd-7358-8458-bb697bdaeb2f\",\n                \"label\": \"Lorenz Cummings\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            },\n            {\n                \"id\": \"01a1bfbd-d003-719f-9a36-f21c07996e36\",\n                \"label\": \"جود الحربي\",\n                \"is_customer\": false,\n                \"sort_order\": 2,\n                \"services_count\": 2,\n                \"duration_min\": 100,\n                \"services_amount\": \"150.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1bfbd-cfff-72e0-ae5e-78c4f4e8f351\",\n                \"person_id\": \"01a1bfbd-cffd-7358-8458-bb697bdaeb2f\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-d002-7147-9a64-d0a5dea542c1\",\n                        \"name\": \"Sample-qqai88966415\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bfbd-d004-725d-bd98-b83ef2dabac9\",\n                \"person_id\": \"01a1bfbd-d003-719f-9a36-f21c07996e36\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 70,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"100.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-d005-7181-a443-d53693e34abb\",\n                        \"name\": \"Sample-axov69077341\",\n                        \"price\": \"0.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bfbd-d006-73b4-b004-01ef185fc318\",\n                \"person_id\": \"01a1bfbd-d003-719f-9a36-f21c07996e36\",\n                \"name\": \"رموش\",\n                \"duration_min\": 30,\n                \"unit_price\": \"50.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"50.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"280.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"300.00\",\n        \"invoice_id\": null,\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-09T09:57:30+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"provider_id\": \"{{provider_id}}\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"booking_type\": \"scheduled\",\n    \"scheduled_at\": \"2026-11-01T10:00:00+03:00\",\n    \"service_id\": \"{{service_id}}\",\n    \"option_ids\": [\n        \"{{service_id}}\"\n    ],\n    \"coupon_code\": \"WELCOME10\",\n    \"source\": \"browse\",\n    \"finder_search_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"notes_to_provider\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Group order created",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Group order created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1bfbd-cd4b-70ea-a8f7-33a1d7f46d63",
                                                        "provider_id": "01a1bfbd-cd4d-71da-949f-613f64357c98",
                                                        "booking_type": "instant",
                                                        "people": [
                                                            {
                                                                "is_customer": true,
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-cd59-72da-b593-9e20e9d8bcb8",
                                                                        "option_ids": [
                                                                            "01a1bfbd-cd63-71e6-ae88-c87c6cf2c6ce"
                                                                        ]
                                                                    }
                                                                ]
                                                            },
                                                            {
                                                                "name": "جود الحربي",
                                                                "services": [
                                                                    {
                                                                        "service_id": "01a1bfbd-cd59-72da-b593-9e20e9d8bcb8",
                                                                        "option_ids": [
                                                                            "01a1bfbd-cd66-7362-a39d-c0fb1aa5b1c3"
                                                                        ]
                                                                    },
                                                                    {
                                                                        "service_id": "01a1bfbd-cd72-7128-b34f-b78c3d72f7f9",
                                                                        "option_ids": []
                                                                    }
                                                                ]
                                                            }
                                                        ],
                                                        "source": "browse"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GroupBookingTest::test_d2_create_writes_people_items_options_and_replays_by_key"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1bfbd-cd4b-70ea-a8f7-33a1d7f46d63\",\n    \"provider_id\": \"01a1bfbd-cd4d-71da-949f-613f64357c98\",\n    \"booking_type\": \"instant\",\n    \"people\": [\n        {\n            \"is_customer\": true,\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-cd59-72da-b593-9e20e9d8bcb8\",\n                    \"option_ids\": [\n                        \"01a1bfbd-cd63-71e6-ae88-c87c6cf2c6ce\"\n                    ]\n                }\n            ]\n        },\n        {\n            \"name\": \"جود الحربي\",\n            \"services\": [\n                {\n                    \"service_id\": \"01a1bfbd-cd59-72da-b593-9e20e9d8bcb8\",\n                    \"option_ids\": [\n                        \"01a1bfbd-cd66-7362-a39d-c0fb1aa5b1c3\"\n                    ]\n                },\n                {\n                    \"service_id\": \"01a1bfbd-cd72-7128-b34f-b78c3d72f7f9\",\n                    \"option_ids\": []\n                }\n            ]\n        }\n    ],\n    \"source\": \"browse\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1bfbd-cffb-70f6-bc31-71397263146d\",\n        \"code\": \"JSH-996306\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1bfbd-cd4d-71da-949f-613f64357c98\",\n            \"name\": \"April Prosacco\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 160,\n        \"address\": {\n            \"text\": \"htgepxxbefqt\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": true,\n        \"people\": [\n            {\n                \"id\": \"01a1bfbd-cffd-7358-8458-bb697bdaeb2f\",\n                \"label\": \"Lorenz Cummings\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            },\n            {\n                \"id\": \"01a1bfbd-d003-719f-9a36-f21c07996e36\",\n                \"label\": \"جود الحربي\",\n                \"is_customer\": false,\n                \"sort_order\": 2,\n                \"services_count\": 2,\n                \"duration_min\": 100,\n                \"services_amount\": \"150.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1bfbd-cfff-72e0-ae5e-78c4f4e8f351\",\n                \"person_id\": \"01a1bfbd-cffd-7358-8458-bb697bdaeb2f\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-d002-7147-9a64-d0a5dea542c1\",\n                        \"name\": \"Sample-qqai88966415\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bfbd-d004-725d-bd98-b83ef2dabac9\",\n                \"person_id\": \"01a1bfbd-d003-719f-9a36-f21c07996e36\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 70,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"100.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-d005-7181-a443-d53693e34abb\",\n                        \"name\": \"Sample-axov69077341\",\n                        \"price\": \"0.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bfbd-d006-73b4-b004-01ef185fc318\",\n                \"person_id\": \"01a1bfbd-d003-719f-9a36-f21c07996e36\",\n                \"name\": \"رموش\",\n                \"duration_min\": 30,\n                \"unit_price\": \"50.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"50.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"280.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"300.00\",\n        \"invoice_id\": null,\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-09T09:57:30+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Instant order created",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Instant order created",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1c637-4959-7153-bcab-a4765f26e32a",
                                                        "provider_id": "01a1c637-495a-727e-8a00-096e0925b462",
                                                        "service_id": "01a1c637-4964-7331-bbf1-410b6a7e1f9c",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1c637-496d-73a4-beb3-807380e5c9bc"
                                                        ],
                                                        "source": "browse"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_012_instant_create_and_pay_snapshots_commission_and_is_idempotent"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1c637-4959-7153-bcab-a4765f26e32a\",\n    \"provider_id\": \"01a1c637-495a-727e-8a00-096e0925b462\",\n    \"service_id\": \"01a1c637-4964-7331-bbf1-410b6a7e1f9c\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1c637-496d-73a4-beb3-807380e5c9bc\"\n    ],\n    \"source\": \"browse\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-4bcf-7021-b447-0edfba919ebb\",\n        \"code\": \"JSH-336632\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-495a-727e-8a00-096e0925b462\",\n            \"name\": \"Prof. Rudolph Abshire\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"dytmguqziecv\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-4bd5-7104-bdef-810f72c1307a\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-4bd9-72da-805e-800cdac7fa2c\",\n                \"person_id\": \"01a1c637-4bd5-7104-bdef-810f72c1307a\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-4bdc-7315-b562-1bbf0bace61f\",\n                        \"name\": \"Sample-npgp02530146\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"invoice_id\": null,\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-10T16:07:55+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Order created from a Joshen finder search",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Order created from a Joshen finder search",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1788b-1195-7020-b6e6-84b375d42b13",
                                                        "provider_id": "01a1788b-119e-71c2-8b2e-d3aa97b39eb7",
                                                        "service_id": "01a1788b-11be-71c9-a047-b8e3da2b8fc1",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1788b-11e8-7204-9fea-f9affd796656"
                                                        ],
                                                        "source": "joshen_finder",
                                                        "finder_search_id": "01a1788b-1208-7305-8063-8c1e0682f63e"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderOrderTest::test_ac_cust_009_multiple_orders_can_reference_one_customer_search"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1788b-1195-7020-b6e6-84b375d42b13\",\n    \"provider_id\": \"01a1788b-119e-71c2-8b2e-d3aa97b39eb7\",\n    \"service_id\": \"01a1788b-11be-71c9-a047-b8e3da2b8fc1\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1788b-11e8-7204-9fea-f9affd796656\"\n    ],\n    \"source\": \"joshen_finder\",\n    \"finder_search_id\": \"01a1788b-1208-7305-8063-8c1e0682f63e\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1788b-1882-7373-941d-6637504c1548\",\n        \"code\": \"JSH-227045\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"joshen_finder\",\n            \"label\": \"Joshen finder\"\n        },\n        \"finder_search_id\": \"01a1788b-1208-7305-8063-8c1e0682f63e\",\n        \"provider\": {\n            \"id\": \"01a1788b-119e-71c2-8b2e-d3aa97b39eb7\",\n            \"name\": \"Heidi Luettgen\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"azvojsspfobd\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1788b-189d-7314-99d7-891b439981f9\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1788b-18ad-70eb-9459-78401abe27ec\",\n                        \"name\": \"Sample-zusu38905157\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"150.00\",\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-10-26T14:09:04+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Order created with a coupon",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Order created with a coupon",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-3a80-7146-95ff-aaec81453621",
                                                        "provider_id": "01a196be-3a82-7381-aa11-2980b40cae83",
                                                        "service_id": "01a196be-3a8d-72b4-ac8c-a5790c545475",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-3a99-7185-aa6a-64f700f456ea"
                                                        ],
                                                        "source": "browse",
                                                        "coupon_code": "save10"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_014_create_order_stores_the_coupon_one_redemption_and_charges_the_discounted_total"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-3a80-7146-95ff-aaec81453621\",\n    \"provider_id\": \"01a196be-3a82-7381-aa11-2980b40cae83\",\n    \"service_id\": \"01a196be-3a8d-72b4-ac8c-a5790c545475\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-3a99-7185-aa6a-64f700f456ea\"\n    ],\n    \"source\": \"browse\",\n    \"coupon_code\": \"save10\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a196be-3cfd-722b-82d1-076db805488f\",\n        \"code\": \"JSH-105619\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a196be-3a82-7381-aa11-2980b40cae83\",\n            \"name\": \"Prof. Brittany Labadie\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"dznonbranflq\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a196be-3d08-7312-aa0b-c34eabc01c82\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a196be-3d10-7203-bf53-ed322e4d35c5\",\n                        \"name\": \"Sample-zzpe17068814\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"10.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": {\n            \"code\": \"SAVE10\",\n            \"discount_amount\": \"10.00\",\n            \"funded_by\": {\n                \"value\": \"platform\",\n                \"label\": \"Joshen\"\n            }\n        },\n        \"total_amount\": \"140.00\",\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-01T10:53:32+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Signed-in customer claims matching guest search",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Signed-in customer claims matching guest search",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1788b-1b65-704b-a3a8-944c7b86f2af",
                                                        "provider_id": "01a1788b-1b69-710f-bb8d-5df722e4fe29",
                                                        "service_id": "01a1788b-1b81-705b-bb78-143348e60cb1",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1788b-1b8e-7365-8442-cae3e57338cc"
                                                        ],
                                                        "source": "joshen_finder",
                                                        "finder_search_id": "01a1788b-1baa-7176-a557-d1bd841cc232"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderOrderTest::test_ac_cust_009_guest_search_is_claimed_once_by_matching_device_during_order_creation"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1788b-1b65-704b-a3a8-944c7b86f2af\",\n    \"provider_id\": \"01a1788b-1b69-710f-bb8d-5df722e4fe29\",\n    \"service_id\": \"01a1788b-1b81-705b-bb78-143348e60cb1\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1788b-1b8e-7365-8442-cae3e57338cc\"\n    ],\n    \"source\": \"joshen_finder\",\n    \"finder_search_id\": \"01a1788b-1baa-7176-a557-d1bd841cc232\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1788b-2230-714f-af05-27827562d3a1\",\n        \"code\": \"JSH-131052\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"joshen_finder\",\n            \"label\": \"Joshen finder\"\n        },\n        \"finder_search_id\": \"01a1788b-1baa-7176-a557-d1bd841cc232\",\n        \"provider\": {\n            \"id\": \"01a1788b-1b69-710f-bb8d-5df722e4fe29\",\n            \"name\": \"Diana Cremin\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"uptcdqtofbxj\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1788b-2233-719e-989f-ee132968fde8\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1788b-2235-70bd-83f5-5c71b444b68d\",\n                        \"name\": \"Sample-lygf78926758\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"150.00\",\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-10-26T14:09:06+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"provider_id\": \"{{provider_id}}\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"booking_type\": \"scheduled\",\n    \"scheduled_at\": \"2026-11-01T10:00:00+03:00\",\n    \"service_id\": \"{{service_id}}\",\n    \"option_ids\": [\n        \"{{service_id}}\"\n    ],\n    \"coupon_code\": \"WELCOME10\",\n    \"source\": \"browse\",\n    \"finder_search_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"notes_to_provider\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"provider_id\": \"{{provider_id}}\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"booking_type\": \"scheduled\",\n    \"scheduled_at\": \"2026-11-01T10:00:00+03:00\",\n    \"service_id\": \"{{service_id}}\",\n    \"option_ids\": [\n        \"{{service_id}}\"\n    ],\n    \"coupon_code\": \"WELCOME10\",\n    \"source\": \"browse\",\n    \"finder_search_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"notes_to_provider\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Idempotency key reused with another body",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Idempotency key reused with another body",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196c2-2a7f-7220-a4f1-c75b51cb4da4",
                                                        "provider_id": "01a196c2-2a80-71e1-95b9-6ba5e3a005ca",
                                                        "service_id": "01a196c2-2a88-7083-b8d6-f116725e726c",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196c2-2a8e-7311-95ba-0aff3fcadf52"
                                                        ],
                                                        "source": "browse",
                                                        "notes_to_provider": "A different request"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderHardeningTest::test_ac_cust_012_reused_key_with_another_body_is_a_conflict"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196c2-2a7f-7220-a4f1-c75b51cb4da4\",\n    \"provider_id\": \"01a196c2-2a80-71e1-95b9-6ba5e3a005ca\",\n    \"service_id\": \"01a196c2-2a88-7083-b8d6-f116725e726c\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196c2-2a8e-7311-95ba-0aff3fcadf52\"\n    ],\n    \"source\": \"browse\",\n    \"notes_to_provider\": \"A different request\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Idempotency-Key was already used with a different request.\",\n    \"data\": {\n        \"error_code\": \"IDEMPOTENCY_KEY_REUSED\",\n        \"correlation_id\": \"f17e16bd-a8ff-46b3-bafe-c8a9077964d3\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Another customer cannot claim a guest search twice",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Another customer cannot claim a guest search twice",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1788b-1b65-704b-a3a8-944c7b86f2af",
                                                        "provider_id": "01a1788b-1b69-710f-bb8d-5df722e4fe29",
                                                        "service_id": "01a1788b-1b81-705b-bb78-143348e60cb1",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1788b-1b8e-7365-8442-cae3e57338cc"
                                                        ],
                                                        "source": "joshen_finder",
                                                        "finder_search_id": "01a1788b-1baa-7176-a557-d1bd841cc232"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderOrderTest::test_ac_cust_009_guest_search_is_claimed_once_by_matching_device_during_order_creation"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1788b-1b65-704b-a3a8-944c7b86f2af\",\n    \"provider_id\": \"01a1788b-1b69-710f-bb8d-5df722e4fe29\",\n    \"service_id\": \"01a1788b-1b81-705b-bb78-143348e60cb1\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1788b-1b8e-7365-8442-cae3e57338cc\"\n    ],\n    \"source\": \"joshen_finder\",\n    \"finder_search_id\": \"01a1788b-1baa-7176-a557-d1bd841cc232\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This finder search cannot be linked to the order.\",\n    \"data\": {\n        \"error_code\": \"FINDER_SEARCH_NOT_LINKABLE\",\n        \"correlation_id\": \"e875891c-6466-4c6f-b5ed-99f19cf96dc6\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Coupon used up before checkout",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Coupon used up before checkout",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196be-41d9-7221-a2f4-0acca7053764",
                                                        "provider_id": "01a196be-41dc-72ba-8fb7-1b6228f0cad0",
                                                        "service_id": "01a196be-41e9-704d-ba6f-25d0078f9fcc",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196be-41fe-7191-873d-ef1ba7c4e299"
                                                        ],
                                                        "source": "browse",
                                                        "coupon_code": "SAVE10"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CouponBookingTest::test_ac_cust_014_create_order_refuses_a_coupon_that_was_used_up_in_between"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196be-41d9-7221-a2f4-0acca7053764\",\n    \"provider_id\": \"01a196be-41dc-72ba-8fb7-1b6228f0cad0\",\n    \"service_id\": \"01a196be-41e9-704d-ba6f-25d0078f9fcc\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196be-41fe-7191-873d-ef1ba7c4e299\"\n    ],\n    \"source\": \"browse\",\n    \"coupon_code\": \"SAVE10\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This coupon has reached its usage limit.\",\n    \"data\": {\n        \"error_code\": \"COUPON_USAGE_LIMIT_REACHED\",\n        \"correlation_id\": \"53245b85-9e8f-43b4-83b8-73df4559782e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Create blocked by fixed commission rule",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Create blocked by fixed commission rule",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1c637-4c9f-736d-b098-86df02ee1b59",
                                                        "provider_id": "01a1c637-4ca0-7335-91dd-e40e99cee715",
                                                        "service_id": "01a1c637-4ca8-72ed-9b58-a01bd459f262",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1c637-4cb0-724c-8659-a13b629097e9"
                                                        ],
                                                        "source": "search"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_012_create_rejects_missing_or_fixed_commission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1c637-4c9f-736d-b098-86df02ee1b59\",\n    \"provider_id\": \"01a1c637-4ca0-7335-91dd-e40e99cee715\",\n    \"service_id\": \"01a1c637-4ca8-72ed-9b58-a01bd459f262\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1c637-4cb0-724c-8659-a13b629097e9\"\n    ],\n    \"source\": \"search\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Booking is temporarily unavailable. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"COMMISSION_RULE_UNAVAILABLE\",\n        \"correlation_id\": \"530ae03b-35ea-4bc7-909b-bf6b18f5ac59\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Create blocked by missing commission rule",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Create blocked by missing commission rule",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a1c637-4c9f-736d-b098-86df02ee1b59",
                                                        "provider_id": "01a1c637-4ca0-7335-91dd-e40e99cee715",
                                                        "service_id": "01a1c637-4ca8-72ed-9b58-a01bd459f262",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a1c637-4cb0-724c-8659-a13b629097e9"
                                                        ],
                                                        "source": "search"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_012_create_rejects_missing_or_fixed_commission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a1c637-4c9f-736d-b098-86df02ee1b59\",\n    \"provider_id\": \"01a1c637-4ca0-7335-91dd-e40e99cee715\",\n    \"service_id\": \"01a1c637-4ca8-72ed-9b58-a01bd459f262\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a1c637-4cb0-724c-8659-a13b629097e9\"\n    ],\n    \"source\": \"search\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Booking is temporarily unavailable. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"COMMISSION_RULE_UNAVAILABLE\",\n        \"correlation_id\": \"ed4f1262-622a-411b-af41-4e17784d75df\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required booking fields",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Missing required booking fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_014_booking_request_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The provider id field is required. (and 5 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"provider_id\": [\n                \"The provider id field is required.\"\n            ],\n            \"address_id\": [\n                \"The address id field is required.\"\n            ],\n            \"booking_type\": [\n                \"The booking type field is required.\"\n            ],\n            \"service_id\": [\n                \"The service id field is required.\"\n            ],\n            \"option_ids\": [\n                \"The option ids field must be present.\"\n            ],\n            \"source\": [\n                \"The source field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many order requests",
                                            "_joshen": {
                                                "route": "client.orders.store",
                                                "name": "Too many order requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": {
                                                        "address_id": "01a196c2-3b34-7347-ac51-6134680c216d",
                                                        "provider_id": "01a196c2-3b39-71a3-a95c-9d597295ffa7",
                                                        "service_id": "01a196c2-3b46-7097-8cc7-72e996986ea4",
                                                        "booking_type": "instant",
                                                        "option_ids": [
                                                            "01a196c2-3b58-7377-909d-7431c1aeb639"
                                                        ],
                                                        "source": "browse"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderHardeningTest::test_td_97_order_creation_is_throttled_per_user"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    },
                                                    {
                                                        "key": "Idempotency-Key",
                                                        "value": "{{order_idempotency_key}}",
                                                        "description": "Use one new key for each intended order and keep it unchanged for retries."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"address_id\": \"01a196c2-3b34-7347-ac51-6134680c216d\",\n    \"provider_id\": \"01a196c2-3b39-71a3-a95c-9d597295ffa7\",\n    \"service_id\": \"01a196c2-3b46-7097-8cc7-72e996986ea4\",\n    \"booking_type\": \"instant\",\n    \"option_ids\": [\n        \"01a196c2-3b58-7377-909d-7431c1aeb639\"\n    ],\n    \"source\": \"browse\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "order_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "order_idempotency_key",
                                                "set_by": [],
                                                "how": "Choose a new key for each intended order; reuse the same key when retrying POST client/orders."
                                            },
                                            {
                                                "name": "provider_id",
                                                "set_by": [
                                                    "admin.providers.index",
                                                    "admin.providers.show",
                                                    "client.booking.providers"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers, GET /api/v1/admin/providers/{id}, GET /api/v1/client/services/{service}/providers."
                                            },
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Pay",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/pay",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "pay"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.pay`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:order-pay`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `method`\n- **Description:** card or mada in the non-production simulator; wallet pays the whole order from credit.\n- **Type:** `string (enum)`\n- **Allowed values:** `card`, `mada`, `wallet`\n- **Required:** required\n- **Example:** `mada`\n- **Validation rules:** `required|in:\"card\",\"mada\",\"wallet\"`\n- `required` — must be provided.\n- `in:\"card\",\"mada\",\"wallet\"` — must be one of: \"card\", \"mada\", \"wallet\".\n### `simulate_failure`\n- **Description:** Non-production: make this payment attempt fail for QA.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Failed simulated payment\n- `200` Instant payment opens provider response\n- `200` Package purchase payment failed\n- `200` Package purchase payment succeeded\n- `200` Repeated pay call on a paid order\n- `200` Scheduled payment confirms order\n- `200` Wallet payment\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Card payment while the simulator is off (production behaviour) — `error_code: PAYMENT_GATEWAY_UNAVAILABLE`\n- `422` Insufficient wallet balance — `error_code: WALLET_INSUFFICIENT_BALANCE`\n- `422` Missing required booking fields\n- `422` Payment after payment_due_at — `error_code: INVALID_STATE_TRANSITION`\n- `422` Payment method disabled — `error_code: PAYMENT_METHOD_DISABLED`\n- `422` Split wallet payment rejected\n- `422` Wallet payments disabled — `error_code: WALLET_PAYMENTS_DISABLED`\n- `429` Too many payment attempts — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"The payment failed and the order was not confirmed. You can try again.\",\n    \"data\": {\n        \"id\": \"01a1c637-4bcf-7021-b447-0edfba919ebb\",\n        \"code\": \"JSH-336632\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"failed\",\n            \"label\": \"Failed\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-495a-727e-8a00-096e0925b462\",\n            \"name\": \"Prof. Rudolph Abshire\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"dytmguqziecv\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-4bd5-7104-bdef-810f72c1307a\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-4bd9-72da-805e-800cdac7fa2c\",\n                \"person_id\": \"01a1c637-4bd5-7104-bdef-810f72c1307a\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-4bdc-7315-b562-1bbf0bace61f\",\n                        \"name\": \"Sample-npgp02530146\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"invoice_id\": null,\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-10T16:07:55+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"method\": \"mada\",\n    \"simulate_failure\": false\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Failed simulated payment",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Failed simulated payment",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1c637-4bcf-7021-b447-0edfba919ebb/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "mada",
                                                        "simulate_failure": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_012_instant_create_and_pay_snapshots_commission_and_is_idempotent"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1c637-4bcf-7021-b447-0edfba919ebb/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1c637-4bcf-7021-b447-0edfba919ebb",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"mada\",\n    \"simulate_failure\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"The payment failed and the order was not confirmed. You can try again.\",\n    \"data\": {\n        \"id\": \"01a1c637-4bcf-7021-b447-0edfba919ebb\",\n        \"code\": \"JSH-336632\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"failed\",\n            \"label\": \"Failed\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-495a-727e-8a00-096e0925b462\",\n            \"name\": \"Prof. Rudolph Abshire\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"dytmguqziecv\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-4bd5-7104-bdef-810f72c1307a\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-4bd9-72da-805e-800cdac7fa2c\",\n                \"person_id\": \"01a1c637-4bd5-7104-bdef-810f72c1307a\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-4bdc-7315-b562-1bbf0bace61f\",\n                        \"name\": \"Sample-npgp02530146\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"invoice_id\": null,\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-10T16:07:55+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Instant payment opens provider response",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Instant payment opens provider response",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1c637-4bcf-7021-b447-0edfba919ebb/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "mada"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_012_instant_create_and_pay_snapshots_commission_and_is_idempotent"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1c637-4bcf-7021-b447-0edfba919ebb/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1c637-4bcf-7021-b447-0edfba919ebb",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"mada\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-4bcf-7021-b447-0edfba919ebb\",\n        \"code\": \"JSH-336632\",\n        \"status\": {\n            \"value\": \"pending_provider\",\n            \"label\": \"Waiting for provider\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-495a-727e-8a00-096e0925b462\",\n            \"name\": \"Prof. Rudolph Abshire\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"dytmguqziecv\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-4bd5-7104-bdef-810f72c1307a\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-4bd9-72da-805e-800cdac7fa2c\",\n                \"person_id\": \"01a1c637-4bd5-7104-bdef-810f72c1307a\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-4bdc-7315-b562-1bbf0bace61f\",\n                        \"name\": \"Sample-npgp02530146\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"invoice_id\": \"01a1c637-4c33-7245-9a8f-ccc3be0ff7b5\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": \"2026-10-25T07:00:20+00:00\",\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-10T16:07:55+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-11-10T16:07:55+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Package purchase payment failed",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Package purchase payment failed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a146-e27c-72dd-a1c5-1c49a0aec36a/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "mada",
                                                        "simulate_failure": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_020_unpaid_purchase_cancels_and_paid_purchase_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a146-e27c-72dd-a1c5-1c49a0aec36a/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a146-e27c-72dd-a1c5-1c49a0aec36a",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"mada\",\n    \"simulate_failure\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a146-e27c-72dd-a1c5-1c49a0aec36a\",\n        \"code\": \"JSH-159231\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"failed\",\n            \"label\": \"Failed\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1a146-dc13-733b-bd68-396cc90e31cf\",\n            \"name\": \"Aurelio Larkin DDS\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1a146-e27f-717e-afe8-4031840c86ae\",\n                \"name\": \"Sample-dnwo57371644\",\n                \"duration_min\": null,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"100.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"100.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"100.00\",\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-03T11:58:59+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Package purchase payment succeeded",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Package purchase payment succeeded",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a146-e27c-72dd-a1c5-1c49a0aec36a/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_020_unpaid_purchase_cancels_and_paid_purchase_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a146-e27c-72dd-a1c5-1c49a0aec36a/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a146-e27c-72dd-a1c5-1c49a0aec36a",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a146-e27c-72dd-a1c5-1c49a0aec36a\",\n        \"code\": \"JSH-159231\",\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1a146-dc13-733b-bd68-396cc90e31cf\",\n            \"name\": \"Aurelio Larkin DDS\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1a146-e27f-717e-afe8-4031840c86ae\",\n                \"name\": \"Sample-dnwo57371644\",\n                \"duration_min\": null,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"100.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"100.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"100.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-03T11:58:59+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"at\": \"2026-11-03T11:58:59+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Repeated pay call on a paid order",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Repeated pay call on a paid order",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a60a-98be-719c-8a77-e09933b464c8/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_015_repeated_card_payment_on_a_paid_service_order_returns_it_without_a_second_charge"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a60a-98be-719c-8a77-e09933b464c8/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a60a-98be-719c-8a77-e09933b464c8",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a60a-98be-719c-8a77-e09933b464c8\",\n        \"code\": \"JSH-bplu15465664\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1a60a-98c6-72ab-9eaa-cddb0996b56b\",\n            \"name\": \"Prof. Eriberto Legros\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"415 Macejkovic Corners Suite 722\\nBennyville, DC 23978-1972\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"100.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"100.00\",\n        \"invoice_id\": \"01a1a60a-a663-73eb-83ad-391f548a82cf\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": true,\n        \"can_chat\": true,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-04T10:11:14+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-04T10:11:18+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Scheduled payment confirms order",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Scheduled payment confirms order",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1c637-51ed-73e4-84c5-6a51ff301b78/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_015_scheduled_accept_then_customer_pay_confirms"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1c637-51ed-73e4-84c5-6a51ff301b78/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1c637-51ed-73e4-84c5-6a51ff301b78",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-51ed-73e4-84c5-6a51ff301b78\",\n        \"code\": \"JSH-218802\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-4f79-7329-9ee0-0ba2c8fe5953\",\n            \"name\": \"Daren Leuschke\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"jdsxgkxasgss\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-51ef-71dc-8d44-685f84a5f60a\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-51f1-72d0-b1fb-2f0750435b19\",\n                \"person_id\": \"01a1c637-51ef-71dc-8d44-685f84a5f60a\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-51f3-70b1-9dd3-0982f60ef6e5\",\n                        \"name\": \"Sample-uhfi07848537\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"invoice_id\": \"01a1c637-5254-72e2-96d9-c453ab1e17e0\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": true,\n        \"can_chat\": true,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-11-10T16:07:56+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-10T16:07:56+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-10T16:07:56+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Wallet payment",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Wallet payment",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a60a-7e61-72cf-be6c-2687efc9e137/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "wallet"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_015_wallet_payment_works_with_simulator_disabled_and_debits_once"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a60a-7e61-72cf-be6c-2687efc9e137/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a60a-7e61-72cf-be6c-2687efc9e137",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"wallet\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a60a-7e61-72cf-be6c-2687efc9e137\",\n        \"code\": \"JSH-evxi34762864\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1a60a-7e74-70d3-8cae-7e170570f2d7\",\n            \"name\": \"Ahmad Morissette\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"5166 Friesen Prairie\\nNew Hassie, OH 15286\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"100.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"100.00\",\n        \"invoice_id\": \"01a1a60a-8093-70e1-8c0e-e0d71341a87d\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": true,\n        \"can_chat\": true,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-04T10:11:08+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-04T10:11:08+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "pay"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"mada\",\n    \"simulate_failure\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "pay"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"mada\",\n    \"simulate_failure\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Card payment while the simulator is off (production behaviour)",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Card payment while the simulator is off (production behaviour)",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a60a-910d-71ce-a323-54f6e9eeef91/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_015_card_payment_is_unavailable_when_the_simulator_is_off_but_wallet_still_works"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a60a-910d-71ce-a323-54f6e9eeef91/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a60a-910d-71ce-a323-54f6e9eeef91",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Payment is temporarily unavailable.\",\n    \"data\": {\n        \"error_code\": \"PAYMENT_GATEWAY_UNAVAILABLE\",\n        \"correlation_id\": \"412c0ee8-03b8-4cbd-96a7-4a0b668d445f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Insufficient wallet balance",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Insufficient wallet balance",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a60a-867f-73ad-ad1f-cc3273b9ddfe/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "wallet"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_015_disabled_and_insufficient_wallet_payments_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a60a-867f-73ad-ad1f-cc3273b9ddfe/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a60a-867f-73ad-ad1f-cc3273b9ddfe",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"wallet\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Wallet balance does not cover this order.\",\n    \"data\": {\n        \"error_code\": \"WALLET_INSUFFICIENT_BALANCE\",\n        \"correlation_id\": \"4789d0f5-a9b9-41a8-94e9-e22a7cc2096a\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required booking fields",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Missing required booking fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/not-a-uuid/pay",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_014_booking_request_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/not-a-uuid/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "not-a-uuid",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The method field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"method\": [\n                \"The method field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payment after payment_due_at",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Payment after payment_due_at",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a60a-9631-708e-b83b-0df34186c870/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_015_payment_after_the_window_closed_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a60a-9631-708e-b83b-0df34186c870/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a60a-9631-708e-b83b-0df34186c870",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"6eaf3444-02ea-4eb8-ad03-c37f27b0f269\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payment method disabled",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Payment method disabled",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a71a-f40c-70f5-ac3b-7482c92cbbfa/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PaymentMethodSettingsTest::test_ac_admin_025_pay_with_a_disabled_method_is_refused_and_enabled_ones_still_work"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a71a-f40c-70f5-ac3b-7482c92cbbfa/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a71a-f40c-70f5-ac3b-7482c92cbbfa",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This payment method is currently unavailable.\",\n    \"data\": {\n        \"error_code\": \"PAYMENT_METHOD_DISABLED\",\n        \"correlation_id\": \"e4c7a894-d977-4424-b4aa-d252b804e6f1\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Split wallet payment rejected",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Split wallet payment rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a60a-8404-72ee-8e5e-cddde7bd29c2/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "wallet_plus_gateway"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_015_split_wallet_payment_is_rejected_with_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a60a-8404-72ee-8e5e-cddde7bd29c2/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a60a-8404-72ee-8e5e-cddde7bd29c2",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"wallet_plus_gateway\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected method is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"method\": [\n                \"The selected method is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Wallet payments disabled",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Wallet payments disabled",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a60a-867f-73ad-ad1f-cc3273b9ddfe/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "wallet"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_015_disabled_and_insufficient_wallet_payments_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a60a-867f-73ad-ad1f-cc3273b9ddfe/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a60a-867f-73ad-ad1f-cc3273b9ddfe",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"wallet\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Wallet payments are disabled.\",\n    \"data\": {\n        \"error_code\": \"WALLET_PAYMENTS_DISABLED\",\n        \"correlation_id\": \"fcd8c995-9eef-4cdb-87d4-2581177033ad\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many payment attempts",
                                            "_joshen": {
                                                "route": "client.orders.pay",
                                                "name": "Too many payment attempts",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a196c2-4059-735a-ae82-a6aa4de762c3/pay",
                                                    "query": null,
                                                    "body": {
                                                        "method": "mada"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderHardeningTest::test_td_97_payment_is_throttled_per_user"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a196c2-4059-735a-ae82-a6aa4de762c3/pay",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a196c2-4059-735a-ae82-a6aa4de762c3",
                                                        "pay"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"method\": \"mada\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Tracking Subscription",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/tracking-subscription",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "tracking-subscription"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.tracking-subscription`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:order-tracking`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Tracking subscription granted\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Order not found\n- `422` Order tracking unavailable — `error_code: ORDER_TRACKING_UNAVAILABLE`\n- `429` Tracking subscription rate limited — `error_code: RATE_LIMITED`\n- `503` Realtime tracking not configured — `error_code: INFRASTRUCTURE_FAILURE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"grant\": \"eyJhdWQiOiJvcmRlci10cmFja2luZyIsInN1YiI6MzYsImFwcCI6ImN1c3RvbWVyIiwib3JkZXIiOiIwMWExOTYxOS03OTlkLTczOTEtOGE3Zi0yODZmOGQ1NTQ1NDMiLCJleHAiOjE3OTI5MTE3MjB9.g673saV1878P5uF1UjV-9ibNUxX-G7Fgtou_smjqzvI\",\n        \"expires_at\": \"2026-10-25T07:02:00+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Tracking subscription granted",
                                            "_joshen": {
                                                "route": "client.orders.tracking-subscription",
                                                "name": "Tracking subscription granted",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-799d-7391-8a7f-286f8d554543/tracking-subscription",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\TrackingSubscriptionTest::test_owner_and_all_unavailable_states"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-799d-7391-8a7f-286f8d554543/tracking-subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-799d-7391-8a7f-286f8d554543",
                                                        "tracking-subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"grant\": \"eyJhdWQiOiJvcmRlci10cmFja2luZyIsInN1YiI6MzYsImFwcCI6ImN1c3RvbWVyIiwib3JkZXIiOiIwMWExOTYxOS03OTlkLTczOTEtOGE3Zi0yODZmOGQ1NTQ1NDMiLCJleHAiOjE3OTI5MTE3MjB9.g673saV1878P5uF1UjV-9ibNUxX-G7Fgtou_smjqzvI\",\n        \"expires_at\": \"2026-10-25T07:02:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/tracking-subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "tracking-subscription"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/tracking-subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "tracking-subscription"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Order not found",
                                            "_joshen": {
                                                "route": "client.orders.tracking-subscription",
                                                "name": "Order not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-861b-719d-b9f2-567149cd5ebf/tracking-subscription",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\TrackingSubscriptionTest::test_foreign_order_is_hidden_and_guests_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-861b-719d-b9f2-567149cd5ebf/tracking-subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-861b-719d-b9f2-567149cd5ebf",
                                                        "tracking-subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Order tracking unavailable",
                                            "_joshen": {
                                                "route": "client.orders.tracking-subscription",
                                                "name": "Order tracking unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-799d-7391-8a7f-286f8d554543/tracking-subscription",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\TrackingSubscriptionTest::test_owner_and_all_unavailable_states"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-799d-7391-8a7f-286f8d554543/tracking-subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-799d-7391-8a7f-286f8d554543",
                                                        "tracking-subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Order tracking is unavailable in this order state.\",\n    \"data\": {\n        \"error_code\": \"ORDER_TRACKING_UNAVAILABLE\",\n        \"correlation_id\": \"1b10c8fe-3c90-4ad3-b00d-fdb11ccd228a\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Tracking subscription rate limited",
                                            "_joshen": {
                                                "route": "client.orders.tracking-subscription",
                                                "name": "Tracking subscription rate limited",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-8d2f-72be-8b73-1e2659f530bd/tracking-subscription",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\TrackingSubscriptionTest::test_throttling"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-8d2f-72be-8b73-1e2659f530bd/tracking-subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-8d2f-72be-8b73-1e2659f530bd",
                                                        "tracking-subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        },
                                        {
                                            "name": "503 Realtime tracking not configured",
                                            "_joshen": {
                                                "route": "client.orders.tracking-subscription",
                                                "name": "Realtime tracking not configured",
                                                "code": 503,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-8964-7068-88d3-389ce40b3659/tracking-subscription",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\TrackingSubscriptionTest::test_missing_grant_secret_answers_a_typed_503_envelope"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-8964-7068-88d3-389ce40b3659/tracking-subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-8964-7068-88d3-389ce40b3659",
                                                        "tracking-subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Service Unavailable",
                                            "code": 503,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"error\",\n    \"message\": \"Live tracking is temporarily unavailable. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"INFRASTRUCTURE_FAILURE\",\n        \"correlation_id\": \"09b36d47-66e0-4840-9ec3-01ddd8f52aeb\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Cancel",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/cancel",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "cancel"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.cancel`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Optional reason the customer gives for cancelling her order (CUST-020).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `My plans changed.`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Customer cancellation replay\n- `200` Package session cancelled and hold released\n- `200` Paid instant customer order cancelled\n- `200` Paid order cancelled with DEC-24 full wallet refund\n- `200` Paid order cancelled with fee consuming payment\n- `200` Paid order cancelled with policy fee\n- `200` Paid scheduled customer order cancelled\n- `200` Preparing order cancelled before departure\n- `200` Unpaid customer order cancelled\n- `200` Unpaid package purchase cancelled\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Another customer order is not found\n- `422` Active rule denies cancellation — `error_code: ORDER_CANCELLATION_NOT_ALLOWED`\n- `422` Already cancelled by provider — `error_code: INVALID_STATE_TRANSITION`\n- `422` Cancel after execution began and a delay alert — `error_code: ORDER_CANCELLATION_LOCKED`\n- `422` Cancellation locked after departure — `error_code: ORDER_CANCELLATION_LOCKED`\n- `422` Cancellation reason too long\n- `422` No active cancellation rule matches — `error_code: ORDER_CANCELLATION_NOT_ALLOWED`\n- `422` Paid package purchase cancellation unavailable — `error_code: PACKAGE_PURCHASE_CANCELLATION_UNAVAILABLE`\n- `422` Resolved within window rule is missing — `error_code: ORDER_CANCELLATION_NOT_ALLOWED`\n- `422` completed order cannot be cancelled — `error_code: INVALID_STATE_TRANSITION`\n- `422` expired order cannot be cancelled — `error_code: INVALID_STATE_TRANSITION`\n- `422` rejected order cannot be cancelled — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-d6e4-73e6-ad6e-840f51850490\",\n        \"code\": \"JSH-lxwf33372052\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-d6e0-71b4-9c21-f7f19cdbe849\",\n            \"name\": \"Guiseppe Boyle\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"854 Giuseppe Fall\\nPort Meredith, CT 71994-9599\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-01T15:46:55+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:55+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": \"First\",\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": \"01a197ca-d6da-712d-b718-4a375d986fa2\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"My plans changed.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer cancellation replay",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Customer cancellation replay",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-d6e4-73e6-ad6e-840f51850490/cancel",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Second"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_repeat_is_unchanged_only_for_a_customer_cancellation"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-d6e4-73e6-ad6e-840f51850490/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-d6e4-73e6-ad6e-840f51850490",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Second\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-d6e4-73e6-ad6e-840f51850490\",\n        \"code\": \"JSH-lxwf33372052\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-d6e0-71b4-9c21-f7f19cdbe849\",\n            \"name\": \"Guiseppe Boyle\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"854 Giuseppe Fall\\nPort Meredith, CT 71994-9599\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-01T15:46:55+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:55+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": \"First\",\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": \"01a197ca-d6da-712d-b718-4a375d986fa2\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Package session cancelled and hold released",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Package session cancelled and hold released",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a17ce6-c794-70e7-9211-8e3f35acc92f/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageSessionQueryTest::test_ac_cust_020_paid_session_cancel_releases_once_and_applies_delivery_policy"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a17ce6-c794-70e7-9211-8e3f35acc92f/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a17ce6-c794-70e7-9211-8e3f35acc92f",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17ce6-c794-70e7-9211-8e3f35acc92f\",\n        \"code\": \"JSH-243381\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a17ce6-c4b6-70a1-9ccf-296638e94630\",\n            \"name\": \"Kraig Schaden\"\n        },\n        \"scheduled_at\": \"2026-10-28T06:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": 90,\n        \"address\": {\n            \"text\": \"unhitetsaxto\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a17ce6-c798-73b0-b07a-a5d79911033c\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 90,\n                \"unit_price\": \"0.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"0.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"20.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-10-27T10:27:41+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-10-27T10:27:41+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-10-27T10:27:41+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-10-27T10:27:41+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": {\n            \"id\": \"01a17ce6-c7fc-7222-a54a-258d05da9075\",\n            \"amount\": \"20.00\",\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Refunded\"\n            },\n            \"destination\": {\n                \"value\": \"wallet\",\n                \"label\": \"Wallet\"\n            },\n            \"returned_to_wallet\": true,\n            \"refunded_at\": \"2026-10-27T10:27:41+00:00\"\n        },\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": \"2026-10-27T10:27:41+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": \"01a17ce6-c508-70b9-b718-674c11873266\"\n        },\n        \"created_at\": \"2026-10-27T10:27:41+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Paid instant customer order cancelled",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Paid instant customer order cancelled",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-d107-7165-8e55-29c8c4af2604/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_paid_instant_and_scheduled_orders_credit_the_exact_wallet_amount"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-d107-7165-8e55-29c8c4af2604/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-d107-7165-8e55-29c8c4af2604",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-d107-7165-8e55-29c8c4af2604\",\n        \"code\": \"JSH-fpke38677127\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-d103-71d7-bb3d-d70cb0c4a539\",\n            \"name\": \"Emiliano McDermott\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"6932 Ernser Ports\\nCorwintown, WI 69910\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-01T15:46:53+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:54+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": {\n            \"id\": \"01a197ca-d33e-7128-ada7-50c1afefbafc\",\n            \"amount\": \"150.00\",\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Refunded\"\n            },\n            \"destination\": {\n                \"value\": \"wallet\",\n                \"label\": \"Wallet\"\n            },\n            \"returned_to_wallet\": true,\n            \"refunded_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": null,\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": \"01a197ca-d0fd-71fb-8a8b-05f4d6173648\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Paid order cancelled with DEC-24 full wallet refund",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Paid order cancelled with DEC-24 full wallet refund",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-cb39-70ec-9b1d-67bcb5203deb/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_migrated_defaults_reproduce_dec_24_with_both_locales"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-cb39-70ec-9b1d-67bcb5203deb/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-cb39-70ec-9b1d-67bcb5203deb",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-cb39-70ec-9b1d-67bcb5203deb\",\n        \"code\": \"JSH-zqqh39666239\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-cb36-7167-8857-cbffb3b043d2\",\n            \"name\": \"Johan Breitenberg\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"453 Schuster Cove Apt. 032\\nMarvinmouth, MS 13453-1071\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-01T15:46:52+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:52+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": {\n            \"id\": \"01a197ca-cd75-7393-ac91-0ee2598ee423\",\n            \"amount\": \"150.00\",\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Refunded\"\n            },\n            \"destination\": {\n                \"value\": \"wallet\",\n                \"label\": \"Wallet\"\n            },\n            \"returned_to_wallet\": true,\n            \"refunded_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": null,\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": \"01a197ca-cb2f-7144-a1f4-e67ab400d253\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Paid order cancelled with fee consuming payment",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Paid order cancelled with fee consuming payment",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-e6dd-71e5-b270-170b21536fca/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_full_fee_creates_no_refund_and_leaves_payment_paid"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-e6dd-71e5-b270-170b21536fca/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-e6dd-71e5-b270-170b21536fca",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-e6dd-71e5-b270-170b21536fca\",\n        \"code\": \"JSH-pgai17419354\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-e6da-7058-a4da-3770b7bc930b\",\n            \"name\": \"Stella Smith IV\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"1381 Kutch Point Apt. 345\\nJacobsonmouth, WA 22454-7079\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-01T15:46:59+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:59+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": null,\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"150.00\",\n            \"rule_id\": \"01a197ca-e6d3-71f0-83d6-5f53f36f74a3\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Paid order cancelled with policy fee",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Paid order cancelled with policy fee",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-e462-7356-9d7e-3a20d09e2b7b/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_fee_withheld_is_partial_refund_without_an_earning"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-e462-7356-9d7e-3a20d09e2b7b/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-e462-7356-9d7e-3a20d09e2b7b",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-e462-7356-9d7e-3a20d09e2b7b\",\n        \"code\": \"JSH-hqlm99717743\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"partially_refunded\",\n            \"label\": \"Partially refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-e45f-7297-b9c4-eaa6d08ed7d6\",\n            \"name\": \"Grayson Heathcote I\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"828 Anya Walks\\nHerminaside, NV 88742-9051\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-01T15:46:58+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:59+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": {\n            \"id\": \"01a197ca-e674-7185-a5cd-b52deb7ba811\",\n            \"amount\": \"104.00\",\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Refunded\"\n            },\n            \"destination\": {\n                \"value\": \"wallet\",\n                \"label\": \"Wallet\"\n            },\n            \"returned_to_wallet\": true,\n            \"refunded_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": null,\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"46.00\",\n            \"rule_id\": \"01a197ca-e457-7286-9d48-c8f9f5ff9883\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Paid scheduled customer order cancelled",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Paid scheduled customer order cancelled",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-d3bc-71ba-8151-2cfadd1c12f5/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_paid_instant_and_scheduled_orders_credit_the_exact_wallet_amount"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-d3bc-71ba-8151-2cfadd1c12f5/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-d3bc-71ba-8151-2cfadd1c12f5",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-d3bc-71ba-8151-2cfadd1c12f5\",\n        \"code\": \"JSH-ctid77358687\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-d3b8-7120-892f-050be1397051\",\n            \"name\": \"Katharina Johnston Jr.\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"754 Bernier Ford Suite 777\\nLittlefort, VT 33609-1477\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-01T15:46:54+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:54+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": {\n            \"id\": \"01a197ca-d3d3-7324-ba71-e41152c8ce02\",\n            \"amount\": \"150.00\",\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Refunded\"\n            },\n            \"destination\": {\n                \"value\": \"wallet\",\n                \"label\": \"Wallet\"\n            },\n            \"returned_to_wallet\": true,\n            \"refunded_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": null,\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": \"01a197ca-d0fd-71fb-8a8b-05f4d6173648\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Preparing order cancelled before departure",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Preparing order cancelled before departure",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-d439-73eb-bd6e-f9baeb82192e/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_preparing_can_cancel_but_on_the_way_is_locked_even_when_delayed"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-d439-73eb-bd6e-f9baeb82192e/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-d439-73eb-bd6e-f9baeb82192e",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-d439-73eb-bd6e-f9baeb82192e\",\n        \"code\": \"JSH-deku58482738\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-d436-709c-b334-d507766470cb\",\n            \"name\": \"Vance Morar\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"41189 Herman Knolls Apt. 107\\nNadermouth, WY 20102-9513\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"preparing\",\n                    \"label\": \"Preparing\"\n                },\n                \"at\": \"2026-11-01T15:46:54+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:55+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": null,\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": \"01a197ca-d42f-7217-b706-90134bb8778d\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Unpaid customer order cancelled",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Unpaid customer order cancelled",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-ce6d-7035-8299-9ff7e03669b3/cancel",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Plans changed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_unpaid_order_cancels_without_fee_or_refund_and_notifies_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-ce6d-7035-8299-9ff7e03669b3/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-ce6d-7035-8299-9ff7e03669b3",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Plans changed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a197ca-ce6d-7035-8299-9ff7e03669b3\",\n        \"code\": \"JSH-psse28331606\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a197ca-ce69-7097-b834-7c1d59e534d1\",\n            \"name\": \"Prof. Cortez Runolfsson V\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"75863 Bella Land\\nLake Brent, MI 64096\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-11-01T15:46:53+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-01T15:46:53+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": \"Plans changed\",\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": \"01a197ca-ce63-70fb-8e1b-b488dd1cce61\"\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Unpaid package purchase cancelled",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Unpaid package purchase cancelled",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a146-dc49-7269-825f-cf26480fbf68/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_020_unpaid_purchase_cancels_and_paid_purchase_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a146-dc49-7269-825f-cf26480fbf68/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a146-dc49-7269-825f-cf26480fbf68",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1a146-dc49-7269-825f-cf26480fbf68\",\n        \"code\": \"JSH-396754\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"package\",\n            \"label\": \"Package\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1a146-dc13-733b-bd68-396cc90e31cf\",\n            \"name\": \"Aurelio Larkin DDS\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [\n            {\n                \"id\": \"01a1a146-dc4a-70fc-a05e-f6766cfea706\",\n                \"name\": \"Sample-dnwo57371644\",\n                \"duration_min\": null,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"0.00\",\n                \"line_total\": \"100.00\",\n                \"options\": []\n            }\n        ],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"100.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"100.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-03T11:58:58+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"cancelled\",\n                    \"label\": \"Cancelled\"\n                },\n                \"at\": \"2026-11-03T11:58:59+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": {\n                \"value\": \"customer\",\n                \"label\": \"You\"\n            },\n            \"reason\": null,\n            \"at\": \"2026-10-25T07:00:00+00:00\",\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"My plans changed.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"My plans changed.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Another customer order is not found",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Another customer order is not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-d9e1-7153-aac0-3c68f49d0c15/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_other_customer_and_integer_order_ids_are_not_found"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-d9e1-7153-aac0-3c68f49d0c15/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-d9e1-7153-aac0-3c68f49d0c15",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Active rule denies cancellation",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Active rule denies cancellation",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-df0a-73f9-af63-73e6ad6b8e6d/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_no_matching_or_denying_rule_fails_closed"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-df0a-73f9-af63-73e6ad6b8e6d/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-df0a-73f9-af63-73e6ad6b8e6d",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cancellation is unavailable under the current policy.\",\n    \"data\": {\n        \"error_code\": \"ORDER_CANCELLATION_NOT_ALLOWED\",\n        \"correlation_id\": \"1ece8707-35e3-4642-b2cf-31058b133c4b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Already cancelled by provider",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Already cancelled by provider",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-d98b-73d4-8683-188dbb11c8c8/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_repeat_is_unchanged_only_for_a_customer_cancellation"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-d98b-73d4-8683-188dbb11c8c8/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-d98b-73d4-8683-188dbb11c8c8",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"1f2db65f-833a-49b5-bf7c-6134128fa102\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancel after execution began and a delay alert",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Cancel after execution began and a delay alert",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a177ea-33f9-71f4-b510-2e3b4dee7d8b/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderDelayAlertTest::test_ac_cust_019_alert_keeps_cancellation_from_the_gate_and_never_reopens_it"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a177ea-33f9-71f4-b510-2e3b4dee7d8b/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a177ea-33f9-71f4-b510-2e3b4dee7d8b",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cancellation is unavailable because execution has started.\",\n    \"data\": {\n        \"error_code\": \"ORDER_CANCELLATION_LOCKED\",\n        \"correlation_id\": \"669e5277-ad29-40c9-baad-be6572762236\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancellation locked after departure",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Cancellation locked after departure",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-d67f-726f-95ef-6a8d8d1499bb/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_preparing_can_cancel_but_on_the_way_is_locked_even_when_delayed"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-d67f-726f-95ef-6a8d8d1499bb/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-d67f-726f-95ef-6a8d8d1499bb",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cancellation is unavailable because execution has started.\",\n    \"data\": {\n        \"error_code\": \"ORDER_CANCELLATION_LOCKED\",\n        \"correlation_id\": \"e5dce339-42db-4f25-befc-29a4d8617cd2\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancellation reason too long",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Cancellation reason too long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-dc5f-7356-877c-e97e7aaf95ab/cancel",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_long_reason_and_terminal_states_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-dc5f-7356-877c-e97e7aaf95ab/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-dc5f-7356-877c-e97e7aaf95ab",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 No active cancellation rule matches",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "No active cancellation rule matches",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-df0a-73f9-af63-73e6ad6b8e6d/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_no_matching_or_denying_rule_fails_closed"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-df0a-73f9-af63-73e6ad6b8e6d/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-df0a-73f9-af63-73e6ad6b8e6d",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cancellation is unavailable under the current policy.\",\n    \"data\": {\n        \"error_code\": \"ORDER_CANCELLATION_NOT_ALLOWED\",\n        \"correlation_id\": \"ad099f3e-003a-4cb1-a662-d038842acb34\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Paid package purchase cancellation unavailable",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Paid package purchase cancellation unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a146-e27c-72dd-a1c5-1c49a0aec36a/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackagePurchaseActionTest::test_ac_cust_020_unpaid_purchase_cancels_and_paid_purchase_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a146-e27c-72dd-a1c5-1c49a0aec36a/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a146-e27c-72dd-a1c5-1c49a0aec36a",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Paid package purchase cancellation is unavailable.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_PURCHASE_CANCELLATION_UNAVAILABLE\",\n        \"correlation_id\": \"b1bc91af-c8cc-41e4-85b4-a08b6d28b771\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Resolved within window rule is missing",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "Resolved within window rule is missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-e1e9-7273-8582-21fc89983b43/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_resolved_within_window_needs_its_own_active_rule"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-e1e9-7273-8582-21fc89983b43/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-e1e9-7273-8582-21fc89983b43",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cancellation is unavailable under the current policy.\",\n    \"data\": {\n        \"error_code\": \"ORDER_CANCELLATION_NOT_ALLOWED\",\n        \"correlation_id\": \"218fb896-fbe2-4739-b58f-048b5700392e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 completed order cannot be cancelled",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "completed order cannot be cancelled",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-dc5f-7356-877c-e97e7aaf95ab/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_long_reason_and_terminal_states_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-dc5f-7356-877c-e97e7aaf95ab/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-dc5f-7356-877c-e97e7aaf95ab",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"264e09fe-3e2d-418e-85d5-065461a45fda\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 expired order cannot be cancelled",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "expired order cannot be cancelled",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-dc5f-7356-877c-e97e7aaf95ab/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_long_reason_and_terminal_states_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-dc5f-7356-877c-e97e7aaf95ab/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-dc5f-7356-877c-e97e7aaf95ab",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"3541adb1-83fe-4143-aa82-209587cc16f0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 rejected order cannot be cancelled",
                                            "_joshen": {
                                                "route": "client.orders.cancel",
                                                "name": "rejected order cannot be cancelled",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a197ca-dc5f-7356-877c-e97e7aaf95ab/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_long_reason_and_terminal_states_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a197ca-dc5f-7356-877c-e97e7aaf95ab/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a197ca-dc5f-7356-877c-e97e7aaf95ab",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"03acefa4-2e09-439c-9d53-95c2fa2181cf\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Confirm Arrival",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/confirm-arrival",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "confirm-arrival"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.confirm-arrival`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:order-arrival`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Customer confirmation after another party is a no-op\n- `200` Customer confirms the driver arrival\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Foreign order is hidden — `error_code: ENTITY_NOT_FOUND`\n- `422` Order has no driver trip to confirm — `error_code: INVALID_STATE_TRANSITION`\n- `429` Too many arrival confirmations — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Arrival confirmed. The trip is complete.\",\n    \"data\": {\n        \"id\": \"01a19b8b-955d-7216-8f85-cc5c4eecbc7a\",\n        \"code\": \"JSH-lgpl83235503\",\n        \"status\": {\n            \"value\": \"arrived\",\n            \"label\": \"Arrived\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a19b8b-954a-700b-bc9f-64bcf41bc4e4\",\n            \"name\": \"Americo Flatley\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"5326 Rosalee Loaf Suite 613\\nCrooksmouth, NJ 23605-5863\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"100.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"25.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"125.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": true,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"arrived\",\n                    \"label\": \"Arrived\"\n                },\n                \"at\": \"2026-11-02T09:16:18+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-11-02T09:16:18+00:00\",\n        \"transport\": {\n            \"mode\": {\n                \"value\": \"joshen_driver\",\n                \"label\": \"Joshen driver\"\n            },\n            \"stage\": {\n                \"value\": \"arrived\",\n                \"label\": \"Arrived\"\n            },\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"distance_km\": null,\n                \"eta_minutes\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer confirmation after another party is a no-op",
                                            "_joshen": {
                                                "route": "client.orders.confirm-arrival",
                                                "name": "Customer confirmation after another party is a no-op",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19b8b-955d-7216-8f85-cc5c4eecbc7a/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_provider_confirms_first_and_customer_confirmation_is_a_no_op"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19b8b-955d-7216-8f85-cc5c4eecbc7a/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19b8b-955d-7216-8f85-cc5c4eecbc7a",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Arrival confirmed. The trip is complete.\",\n    \"data\": {\n        \"id\": \"01a19b8b-955d-7216-8f85-cc5c4eecbc7a\",\n        \"code\": \"JSH-lgpl83235503\",\n        \"status\": {\n            \"value\": \"arrived\",\n            \"label\": \"Arrived\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a19b8b-954a-700b-bc9f-64bcf41bc4e4\",\n            \"name\": \"Americo Flatley\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"5326 Rosalee Loaf Suite 613\\nCrooksmouth, NJ 23605-5863\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"100.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"25.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"125.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": true,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"arrived\",\n                    \"label\": \"Arrived\"\n                },\n                \"at\": \"2026-11-02T09:16:18+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-11-02T09:16:18+00:00\",\n        \"transport\": {\n            \"mode\": {\n                \"value\": \"joshen_driver\",\n                \"label\": \"Joshen driver\"\n            },\n            \"stage\": {\n                \"value\": \"arrived\",\n                \"label\": \"Arrived\"\n            },\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"distance_km\": null,\n                \"eta_minutes\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Customer confirms the driver arrival",
                                            "_joshen": {
                                                "route": "client.orders.confirm-arrival",
                                                "name": "Customer confirms the driver arrival",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19b8b-9966-71db-a268-b37a647bdf7a/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_customer_confirms_and_order_without_driver_trip_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19b8b-9966-71db-a268-b37a647bdf7a/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19b8b-9966-71db-a268-b37a647bdf7a",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Arrival confirmed. The trip is complete.\",\n    \"data\": {\n        \"id\": \"01a19b8b-9966-71db-a268-b37a647bdf7a\",\n        \"code\": \"JSH-fuag70263882\",\n        \"status\": {\n            \"value\": \"arrived\",\n            \"label\": \"Arrived\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a19b8b-994b-70e8-b729-6a2828c58474\",\n            \"name\": \"Wilfredo McKenzie\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"14775 Alexandra View Suite 163\\nWest Kathleenport, NH 50220-5321\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"100.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"25.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"125.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": true,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"arrived\",\n                    \"label\": \"Arrived\"\n                },\n                \"at\": \"2026-11-02T09:16:19+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-11-02T09:16:19+00:00\",\n        \"transport\": {\n            \"mode\": {\n                \"value\": \"joshen_driver\",\n                \"label\": \"Joshen driver\"\n            },\n            \"stage\": {\n                \"value\": \"arrived\",\n                \"label\": \"Arrived\"\n            },\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"distance_km\": null,\n                \"eta_minutes\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "confirm-arrival"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "confirm-arrival"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Foreign order is hidden",
                                            "_joshen": {
                                                "route": "client.orders.confirm-arrival",
                                                "name": "Foreign order is hidden",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19b8b-9966-71db-a268-b37a647bdf7a/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_customer_confirms_and_order_without_driver_trip_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19b8b-9966-71db-a268-b37a647bdf7a/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19b8b-9966-71db-a268-b37a647bdf7a",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"booking.order_not_found\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"71903b27-657b-49be-b5fe-14d807457bcd\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Order has no driver trip to confirm",
                                            "_joshen": {
                                                "route": "client.orders.confirm-arrival",
                                                "name": "Order has no driver trip to confirm",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19b8b-9beb-735e-8ae6-4f121dc222c9/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_customer_confirms_and_order_without_driver_trip_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19b8b-9beb-735e-8ae6-4f121dc222c9/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19b8b-9beb-735e-8ae6-4f121dc222c9",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The driver has not reported arrival at the customer yet.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"0a8d8eb7-e554-4ce1-bf0a-e7f19ef48f86\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many arrival confirmations",
                                            "_joshen": {
                                                "route": "client.orders.confirm-arrival",
                                                "name": "Too many arrival confirmations",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19b8b-9ecc-732b-9a36-1b78650dd2a1/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_customer_and_provider_confirmations_are_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19b8b-9ecc-732b-9a36-1b78650dd2a1/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19b8b-9ecc-732b-9a36-1b78650dd2a1",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Rating",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/rating",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "rating"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.rating`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:review-submit`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `stars`\n- **Description:** Whole stars, 1–5 (BR-28, DEC-19).\n- **Type:** `integer`\n- **Required:** required\n- **Example:** `5`\n- **Validation rules:** `required|integer|between:1,5`\n- `required` — must be provided.\n- `integer` — must be a whole number.\n- `between:1,5` — must be between 1, 5.\n### `comment`\n- **Description:** Optional public comment, up to 1000 characters; subject to admin moderation.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Arrived on time and the tools were spotless.`\n- **Validation rules:** `sometimes|nullable|string|max:1000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n### `private_note`\n- **Description:** Provider app only: a note only the Joshen team sees (DEC-19). Refused on the customer app.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Customer was not at the address for ten minutes.`\n- **Validation rules:** `sometimes|nullable|string|max:1000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n### `tags`\n- **Description:** Optional tags from `GET review-tags`, at most 10.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"]`\n- **Validation rules:** `sometimes|array|list|max:10`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:10` — must not exceed 10.\n### `tags.*`\n- **Description:** Tag id (uuid) of `review_tags`, active and for the caller's direction.\n- **Type:** `string (uuid)`\n- **Refers to:** a `review_tags` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|distinct|uuid|exists:review_tags,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:review_tags,uuid` — must reference an existing record (review_tags, uuid).\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `201` Order rated\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Order already rated — `error_code: REVIEW_ALREADY_SUBMITTED`\n- `422` Order is not completed — `error_code: REVIEW_ORDER_NOT_RATABLE`\n- `422` Stars out of range\n- `429` Too many rating attempts — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Thank you, your rating was saved.\",\n    \"data\": {\n        \"id\": \"01a19c09-01fe-728d-abd2-803169e48e6b\",\n        \"order\": {\n            \"id\": \"01a19c08-ff94-7000-bd7e-ad16623e9fd0\",\n            \"code\": \"JSH-xdrc55345941\"\n        },\n        \"direction\": {\n            \"value\": \"customer_to_provider\",\n            \"label\": \"Customer rated provider\"\n        },\n        \"stars\": 5,\n        \"comment\": \"Great\",\n        \"tags\": [\n            {\n                \"id\": \"01a19c08-ff9d-72ff-acb6-1295e69e102d\",\n                \"label\": \"Sample-obkd01353568\"\n            }\n        ],\n        \"created_at\": \"2026-11-02T11:33:18+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"stars\": 5,\n    \"comment\": \"Arrived on time and the tools were spotless.\",\n    \"private_note\": \"Customer was not at the address for ten minutes.\",\n    \"tags\": [\n        \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Order rated",
                                            "_joshen": {
                                                "route": "client.orders.rating",
                                                "name": "Order rated",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19c08-ff94-7000-bd7e-ad16623e9fd0/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 5,
                                                        "comment": "Great",
                                                        "tags": [
                                                            "01a19c08-ff9d-72ff-acb6-1295e69e102d"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19c08-ff94-7000-bd7e-ad16623e9fd0/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19c08-ff94-7000-bd7e-ad16623e9fd0",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5,\n    \"comment\": \"Great\",\n    \"tags\": [\n        \"01a19c08-ff9d-72ff-acb6-1295e69e102d\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Thank you, your rating was saved.\",\n    \"data\": {\n        \"id\": \"01a19c09-01fe-728d-abd2-803169e48e6b\",\n        \"order\": {\n            \"id\": \"01a19c08-ff94-7000-bd7e-ad16623e9fd0\",\n            \"code\": \"JSH-xdrc55345941\"\n        },\n        \"direction\": {\n            \"value\": \"customer_to_provider\",\n            \"label\": \"Customer rated provider\"\n        },\n        \"stars\": 5,\n        \"comment\": \"Great\",\n        \"tags\": [\n            {\n                \"id\": \"01a19c08-ff9d-72ff-acb6-1295e69e102d\",\n                \"label\": \"Sample-obkd01353568\"\n            }\n        ],\n        \"created_at\": \"2026-11-02T11:33:18+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "rating"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5,\n    \"comment\": \"Arrived on time and the tools were spotless.\",\n    \"private_note\": \"Customer was not at the address for ten minutes.\",\n    \"tags\": [\n        \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "rating"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5,\n    \"comment\": \"Arrived on time and the tools were spotless.\",\n    \"private_note\": \"Customer was not at the address for ten minutes.\",\n    \"tags\": [\n        \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Order already rated",
                                            "_joshen": {
                                                "route": "client.orders.rating",
                                                "name": "Order already rated",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19c08-ff94-7000-bd7e-ad16623e9fd0/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 5
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19c08-ff94-7000-bd7e-ad16623e9fd0/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19c08-ff94-7000-bd7e-ad16623e9fd0",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You have already rated this order.\",\n    \"data\": {\n        \"error_code\": \"REVIEW_ALREADY_SUBMITTED\",\n        \"correlation_id\": \"52088064-597d-4f9e-8da8-0245860dd697\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Order is not completed",
                                            "_joshen": {
                                                "route": "client.orders.rating",
                                                "name": "Order is not completed",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19c09-0214-72c8-a0e5-2ec5149f8ffd/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 5
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19c09-0214-72c8-a0e5-2ec5149f8ffd/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19c09-0214-72c8-a0e5-2ec5149f8ffd",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Only a completed order of yours can be rated.\",\n    \"data\": {\n        \"error_code\": \"REVIEW_ORDER_NOT_RATABLE\",\n        \"correlation_id\": \"586228ce-42bb-4e82-a582-3bdfa75c0c4e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Stars out of range",
                                            "_joshen": {
                                                "route": "client.orders.rating",
                                                "name": "Stars out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19c08-ff94-7000-bd7e-ad16623e9fd0/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 9
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19c08-ff94-7000-bd7e-ad16623e9fd0/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19c08-ff94-7000-bd7e-ad16623e9fd0",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 9\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The stars field must be between 1 and 5.\",\n    \"data\": {\n        \"errors\": {\n            \"stars\": [\n                \"The stars field must be between 1 and 5.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many rating attempts",
                                            "_joshen": {
                                                "route": "client.orders.rating",
                                                "name": "Too many rating attempts",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19c09-0214-72c8-a0e5-2ec5149f8ffd/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 9
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19c09-0214-72c8-a0e5-2ec5149f8ffd/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19c09-0214-72c8-a0e5-2ec5149f8ffd",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 9\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"order_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "current",
                                                    "description": "Optional grouping: current (still in motion, incl. confirmed instant), upcoming (confirmed scheduled), completed, cancelled (also rejected and expired). Omit for every order (CUST-017, TD-100). — `string (enum)`, one of: `current`, `upcoming`, `completed`, `cancelled`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `tab` — Optional grouping: current (still in motion, incl. confirmed instant), upcoming (confirmed scheduled), completed, cancelled (also rejected and expired). Omit for every order (CUST-017, TD-100). — `string (enum)`, one of: `current`, `upcoming`, `completed`, `cancelled` (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `order_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Current orders tab\n- `200` Customer order list\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown orders tab\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a19791-7bef-7294-833a-60cb817937a1\",\n            \"code\": \"JSH-157087\",\n            \"status\": {\n                \"value\": \"awaiting_payment\",\n                \"label\": \"Awaiting payment\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"provider\": {\n                \"id\": \"01a19791-796a-73c0-9dd0-f3561a87698a\",\n                \"name\": \"Urban Kovacek\"\n            },\n            \"service_name\": \"مكياج\",\n            \"address\": {\n                \"text\": \"zskvpangzoqk\"\n            },\n            \"scheduled_at\": null,\n            \"total_amount\": \"150.00\",\n            \"can_pay\": true,\n            \"created_at\": \"2026-10-25T07:00:00+00:00\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Current orders tab",
                                            "_joshen": {
                                                "route": "client.orders.index",
                                                "name": "Current orders tab",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": {
                                                        "tab": "current"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderTrackingTest::test_ac_cust_017_tile_shows_service_provider_address_type_status_and_total"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders?tab=current",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "current"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a19791-7bef-7294-833a-60cb817937a1\",\n            \"code\": \"JSH-157087\",\n            \"status\": {\n                \"value\": \"awaiting_payment\",\n                \"label\": \"Awaiting payment\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"provider\": {\n                \"id\": \"01a19791-796a-73c0-9dd0-f3561a87698a\",\n                \"name\": \"Urban Kovacek\"\n            },\n            \"service_name\": \"مكياج\",\n            \"address\": {\n                \"text\": \"zskvpangzoqk\"\n            },\n            \"scheduled_at\": null,\n            \"total_amount\": \"150.00\",\n            \"can_pay\": true,\n            \"created_at\": \"2026-10-25T07:00:00+00:00\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 Customer order list",
                                            "_joshen": {
                                                "route": "client.orders.index",
                                                "name": "Customer order list",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_017_customer_reads_decision_and_lazy_payment_expiry"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a1c637-5bb1-71f6-b95c-1f0090f1a057\",\n            \"code\": \"JSH-319686\",\n            \"status\": {\n                \"value\": \"awaiting_payment\",\n                \"label\": \"Awaiting payment\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"scheduled\",\n                \"label\": \"Scheduled\"\n            },\n            \"provider\": {\n                \"id\": \"01a1c637-5946-70bf-826b-bd39c4949b2e\",\n                \"name\": \"Prof. Delfina Mertz IV\"\n            },\n            \"service_name\": \"مكياج\",\n            \"is_group\": false,\n            \"address\": {\n                \"text\": \"pjtnobalaulo\"\n            },\n            \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n            \"total_amount\": \"150.00\",\n            \"can_pay\": true,\n            \"created_at\": \"2026-10-25T07:00:00+00:00\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "current",
                                                            "description": "Optional grouping: current (still in motion, incl. confirmed instant), upcoming (confirmed scheduled), completed, cancelled (also rejected and expired). Omit for every order (CUST-017, TD-100). — `string (enum)`, one of: `current`, `upcoming`, `completed`, `cancelled`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "current",
                                                            "description": "Optional grouping: current (still in motion, incl. confirmed instant), upcoming (confirmed scheduled), completed, cancelled (also rejected and expired). Omit for every order (CUST-017, TD-100). — `string (enum)`, one of: `current`, `upcoming`, `completed`, `cancelled`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown orders tab",
                                            "_joshen": {
                                                "route": "client.orders.index",
                                                "name": "Unknown orders tab",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders",
                                                    "query": {
                                                        "tab": "archived"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderTrackingTest::test_ac_cust_017_unknown_tab_is_a_validation_error"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders?tab=archived",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "archived"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected tab is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"tab\": [\n                \"The selected tab is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "order_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"order_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `order_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Accepted order awaiting customer payment\n- `200` Completed order can be rated\n- `200` Completed order with execution timeline\n- `200` Order with a delay alert\n- `200` Order without a delay alert\n- `200` Payment deadline expired on read\n- `200` Rejected order with refund returned to wallet\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1c637-5bb1-71f6-b95c-1f0090f1a057\",\n        \"code\": \"JSH-319686\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-5946-70bf-826b-bd39c4949b2e\",\n            \"name\": \"Prof. Delfina Mertz IV\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"pjtnobalaulo\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-5bb4-72cb-a7a7-55b0e1eb9ab0\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-5bb6-726d-8720-f9f62d78d488\",\n                \"person_id\": \"01a1c637-5bb4-72cb-a7a7-55b0e1eb9ab0\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-5bb7-7093-a5a2-c9f5d66c4b6f\",\n                        \"name\": \"Sample-gute30514619\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"invoice_id\": null,\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-11-10T16:07:59+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-10T16:07:59+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"stage\": null,\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"freshness\": \"unavailable\",\n                \"distance_km\": null,\n                \"eta_minutes\": null,\n                \"calculated_at\": null,\n                \"source\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Accepted order awaiting customer payment",
                                            "_joshen": {
                                                "route": "client.orders.show",
                                                "name": "Accepted order awaiting customer payment",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1c637-5bb1-71f6-b95c-1f0090f1a057",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_017_customer_reads_decision_and_lazy_payment_expiry"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1c637-5bb1-71f6-b95c-1f0090f1a057",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1c637-5bb1-71f6-b95c-1f0090f1a057"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1c637-5bb1-71f6-b95c-1f0090f1a057\",\n        \"code\": \"JSH-319686\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-5946-70bf-826b-bd39c4949b2e\",\n            \"name\": \"Prof. Delfina Mertz IV\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"pjtnobalaulo\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-5bb4-72cb-a7a7-55b0e1eb9ab0\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-5bb6-726d-8720-f9f62d78d488\",\n                \"person_id\": \"01a1c637-5bb4-72cb-a7a7-55b0e1eb9ab0\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-5bb7-7093-a5a2-c9f5d66c4b6f\",\n                        \"name\": \"Sample-gute30514619\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"invoice_id\": null,\n        \"can_pay\": true,\n        \"payment_due_at\": \"2026-10-25T07:15:00+00:00\",\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-11-10T16:07:59+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-10T16:07:59+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"stage\": null,\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"freshness\": \"unavailable\",\n                \"distance_km\": null,\n                \"eta_minutes\": null,\n                \"calculated_at\": null,\n                \"source\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Completed order can be rated",
                                            "_joshen": {
                                                "route": "client.orders.show",
                                                "name": "Completed order can be rated",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19791-4c16-71e4-ae82-e6a41ee949c1",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_020_completion_closes_the_order_notifies_the_customer_and_opens_rating"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19791-4c16-71e4-ae82-e6a41ee949c1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19791-4c16-71e4-ae82-e6a41ee949c1"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-4c16-71e4-ae82-e6a41ee949c1\",\n        \"code\": \"JSH-sfuv91674008\",\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a19791-4c11-72a3-a542-398eb0e4a335\",\n            \"name\": \"Prof. Lexi Schimmel\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": null,\n        \"address\": {\n            \"text\": \"452 Kirlin Isle Apt. 267\\nEast Norbert, AR 44193\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"0.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"0.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": true,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"in_progress\",\n                    \"label\": \"In progress\"\n                },\n                \"at\": \"2026-11-01T14:44:04+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"at\": \"2026-11-01T14:44:04+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"stage\": null,\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"distance_km\": null,\n                \"eta_minutes\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Completed order with execution timeline",
                                            "_joshen": {
                                                "route": "client.orders.show",
                                                "name": "Completed order with execution timeline",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19791-81a0-7081-bb03-69c57e7a2ac2",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderTrackingTest::test_ac_prov_019_cust_017_execution_stages_reach_the_customer_as_one_live_status"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19791-81a0-7081-bb03-69c57e7a2ac2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19791-81a0-7081-bb03-69c57e7a2ac2"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-81a0-7081-bb03-69c57e7a2ac2\",\n        \"code\": \"JSH-267118\",\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a19791-7f4f-70e5-acf9-ffd39f212f2b\",\n            \"name\": \"Dandre Gorczany\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"lfncyoprvksb\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a19791-81a3-7255-aada-b0061fb76e3f\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a19791-81a4-70fe-b2de-30778ff9688d\",\n                        \"name\": \"Sample-ppko65485176\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": true,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-01T14:44:17+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-11-01T14:44:17+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-11-01T14:44:17+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"on_the_way\",\n                    \"label\": \"On the way\"\n                },\n                \"at\": \"2026-11-01T14:44:18+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"arrived\",\n                    \"label\": \"Arrived\"\n                },\n                \"at\": \"2026-11-01T14:44:18+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"in_progress\",\n                    \"label\": \"In progress\"\n                },\n                \"at\": \"2026-11-01T14:44:18+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"at\": \"2026-11-01T14:44:18+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"stage\": null,\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"distance_km\": null,\n                \"eta_minutes\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order with a delay alert",
                                            "_joshen": {
                                                "route": "client.orders.show",
                                                "name": "Order with a delay alert",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a177ea-33f9-71f4-b510-2e3b4dee7d8b",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderDelayAlertTest::test_ac_cust_019_alert_keeps_cancellation_from_the_gate_and_never_reopens_it"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a177ea-33f9-71f4-b510-2e3b4dee7d8b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a177ea-33f9-71f4-b510-2e3b4dee7d8b"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a177ea-33f9-71f4-b510-2e3b4dee7d8b\",\n        \"code\": \"JSH-bsak00528083\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"provider\": {\n            \"id\": \"01a177ea-3403-7138-8643-0c0b8f785f29\",\n            \"name\": \"Mandy Stokes\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"8015 Destinee Brook Apt. 861\\nLake Sallieburgh, WY 37704\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"0.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"0.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-10-26T11:13:19+00:00\"\n            }\n        ],\n        \"delay_alert\": {\n            \"alerted_at\": \"2026-10-25T07:16:00+00:00\"\n        },\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order without a delay alert",
                                            "_joshen": {
                                                "route": "client.orders.show",
                                                "name": "Order without a delay alert",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a177ea-36a2-73a4-a086-ed741f410dfb",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderDelayAlertTest::test_ac_cust_019_customer_details_expose_a_stable_null_delay_alert_without_one"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a177ea-36a2-73a4-a086-ed741f410dfb",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a177ea-36a2-73a4-a086-ed741f410dfb"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a177ea-36a2-73a4-a086-ed741f410dfb\",\n        \"code\": \"JSH-uxkd46227938\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"Confirmed\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"provider\": {\n            \"id\": \"01a177ea-36b8-73e4-b9a2-28df7f9ff350\",\n            \"name\": \"Gretchen Lynch\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"94028 Luettgen Oval Suite 981\\nLake Vance, MD 79574-5991\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"services\": [],\n        \"services_amount\": \"0.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total_amount\": \"0.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": true,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"confirmed\",\n                    \"label\": \"Confirmed\"\n                },\n                \"at\": \"2026-10-26T11:13:20+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Payment deadline expired on read",
                                            "_joshen": {
                                                "route": "client.orders.show",
                                                "name": "Payment deadline expired on read",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1c637-5bb1-71f6-b95c-1f0090f1a057",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_cust_017_customer_reads_decision_and_lazy_payment_expiry"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1c637-5bb1-71f6-b95c-1f0090f1a057",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1c637-5bb1-71f6-b95c-1f0090f1a057"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1c637-5bb1-71f6-b95c-1f0090f1a057\",\n        \"code\": \"JSH-319686\",\n        \"status\": {\n            \"value\": \"expired\",\n            \"label\": \"Expired\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a1c637-5946-70bf-826b-bd39c4949b2e\",\n            \"name\": \"Prof. Delfina Mertz IV\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"pjtnobalaulo\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"is_group\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-5bb4-72cb-a7a7-55b0e1eb9ab0\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-5bb6-726d-8720-f9f62d78d488\",\n                \"person_id\": \"01a1c637-5bb4-72cb-a7a7-55b0e1eb9ab0\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-5bb7-7093-a5a2-c9f5d66c4b6f\",\n                        \"name\": \"Sample-gute30514619\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"invoice_id\": null,\n        \"can_pay\": false,\n        \"payment_due_at\": \"2026-10-25T06:59:59+00:00\",\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": null,\n        \"can_choose_another_time\": false,\n        \"can_choose_another_provider\": false,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-11-10T16:07:59+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-10T16:07:59+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"expired\",\n                    \"label\": \"Expired\"\n                },\n                \"at\": \"2026-11-10T16:07:59+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": null,\n        \"cancellation\": {\n            \"cancelled_by\": null,\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"stage\": null,\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"freshness\": \"unavailable\",\n                \"distance_km\": null,\n                \"eta_minutes\": null,\n                \"calculated_at\": null,\n                \"source\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Rejected order with refund returned to wallet",
                                            "_joshen": {
                                                "route": "client.orders.show",
                                                "name": "Rejected order with refund returned to wallet",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19791-7eb1-7104-8756-d6d2d411baa3",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderTrackingTest::test_ac_cust_017_details_carry_timeline_and_follow_the_wallet_refund"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19791-7eb1-7104-8756-d6d2d411baa3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19791-7eb1-7104-8756-d6d2d411baa3"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-7eb1-7104-8756-d6d2d411baa3\",\n        \"code\": \"JSH-890604\",\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"source\": {\n            \"value\": \"browse\",\n            \"label\": \"Browse\"\n        },\n        \"finder_search_id\": null,\n        \"provider\": {\n            \"id\": \"01a19791-7c54-708e-9018-c7601650e416\",\n            \"name\": \"Elias Morissette III\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"estimated_duration_min\": 60,\n        \"address\": {\n            \"text\": \"ivcuzuzycwgd\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"services\": [\n            {\n                \"id\": \"01a19791-7eb4-7325-8f6c-99bc99a2bbe7\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"unit_price\": \"100.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"130.00\",\n                \"options\": [\n                    {\n                        \"id\": \"01a19791-7eb6-7093-bc22-0a4bb6c24c1d\",\n                        \"name\": \"Sample-lvvl42425200\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"services_amount\": \"130.00\",\n        \"package_amount\": \"0.00\",\n        \"delivery_fee\": \"20.00\",\n        \"discount_amount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"coupon\": null,\n        \"total_amount\": \"150.00\",\n        \"can_pay\": false,\n        \"payment_due_at\": null,\n        \"can_cancel\": false,\n        \"can_chat\": false,\n        \"can_rate\": false,\n        \"respond_before\": null,\n        \"rejection_reason\": \"Unavailable\",\n        \"can_choose_another_time\": true,\n        \"can_choose_another_provider\": true,\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"awaiting_payment\",\n                    \"label\": \"Awaiting payment\"\n                },\n                \"at\": \"2026-11-01T14:44:17+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"pending_provider\",\n                    \"label\": \"Waiting for provider\"\n                },\n                \"at\": \"2026-11-01T14:44:17+00:00\"\n            },\n            {\n                \"status\": {\n                    \"value\": \"rejected\",\n                    \"label\": \"Rejected\"\n                },\n                \"at\": \"2026-11-01T14:44:17+00:00\"\n            }\n        ],\n        \"delay_alert\": null,\n        \"refund\": {\n            \"id\": \"01a19791-7ef4-7032-ab08-2f03b7069031\",\n            \"amount\": \"150.00\",\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Refunded\"\n            },\n            \"destination\": {\n                \"value\": \"wallet\",\n                \"label\": \"Wallet\"\n            },\n            \"returned_to_wallet\": true,\n            \"refunded_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"cancellation\": {\n            \"reason\": null,\n            \"at\": null,\n            \"fee\": \"0.00\",\n            \"rule_id\": null\n        },\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"stage\": null,\n            \"tracking\": {\n                \"available\": false,\n                \"location\": null,\n                \"distance_km\": null,\n                \"eta_minutes\": null\n            },\n            \"can_confirm_arrival\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "order_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Invoice",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "invoice"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.orders.invoice`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Paid order tax invoice\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Invoice not found for unpaid order — `error_code: INVOICE_NOT_FOUND`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a5ba-28dd-7082-8ad0-0b47369801bc\",\n        \"invoice_no\": \"INV-100003\",\n        \"order_id\": \"01a1a5ba-265c-7289-ac67-170b5500a598\",\n        \"subscription_id\": null,\n        \"subtotal\": \"150.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total\": \"150.00\",\n        \"seller\": {\n            \"name\": \"Joshen / جوشن\",\n            \"vat_number\": \"300000000000003\"\n        },\n        \"payment_method\": {\n            \"value\": \"card\",\n            \"label\": \"Bank card\"\n        },\n        \"order_code\": \"JSH-gryf45767821\",\n        \"items\": [\n            {\n                \"name\": \"Hair Styling\",\n                \"quantity\": 1,\n                \"unit_price\": \"120.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"150.00\"\n            }\n        ],\n        \"plan_name\": null,\n        \"zatca_uuid\": null,\n        \"qr_payload\": \"ARFKb3NoZW4gLyDYrNmI2LTZhgIPMzAwMDAwMDAwMDAwMDAzAxkyMDI2LTEwLTI1VDA3OjAwOjAwKzAwOjAwBAYxNTAuMDAFBDAuMDA=\",\n        \"issued_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Paid order tax invoice",
                                            "_joshen": {
                                                "route": "client.orders.invoice",
                                                "name": "Paid order tax invoice",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a5ba-265c-7289-ac67-170b5500a598/invoice",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderInvoiceTest::test_ac_cust_015_customer_can_retrieve_paid_order_invoice"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a5ba-265c-7289-ac67-170b5500a598/invoice",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a5ba-265c-7289-ac67-170b5500a598",
                                                        "invoice"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a5ba-28dd-7082-8ad0-0b47369801bc\",\n        \"invoice_no\": \"INV-100003\",\n        \"order_id\": \"01a1a5ba-265c-7289-ac67-170b5500a598\",\n        \"subscription_id\": null,\n        \"subtotal\": \"150.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount\": \"0.00\",\n        \"vat_amount\": \"0.00\",\n        \"total\": \"150.00\",\n        \"seller\": {\n            \"name\": \"Joshen / جوشن\",\n            \"vat_number\": \"300000000000003\"\n        },\n        \"payment_method\": {\n            \"value\": \"card\",\n            \"label\": \"Bank card\"\n        },\n        \"order_code\": \"JSH-gryf45767821\",\n        \"items\": [\n            {\n                \"name\": \"Hair Styling\",\n                \"quantity\": 1,\n                \"unit_price\": \"120.00\",\n                \"options_price\": \"30.00\",\n                \"line_total\": \"150.00\"\n            }\n        ],\n        \"plan_name\": null,\n        \"zatca_uuid\": null,\n        \"qr_payload\": \"ARFKb3NoZW4gLyDYrNmI2LTZhgIPMzAwMDAwMDAwMDAwMDAzAxkyMDI2LTEwLTI1VDA3OjAwOjAwKzAwOjAwBAYxNTAuMDAFBDAuMDA=\",\n        \"issued_at\": \"2026-10-25T07:00:00+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/invoice",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "invoice"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/invoice",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "invoice"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Invoice not found for unpaid order",
                                            "_joshen": {
                                                "route": "client.orders.invoice",
                                                "name": "Invoice not found for unpaid order",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a1a5ba-2c68-7314-bb2a-ae725c0a9489/invoice",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderInvoiceTest::test_ac_cust_015_unpaid_order_returns_invoice_not_found"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a1a5ba-2c68-7314-bb2a-ae725c0a9489/invoice",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a1a5ba-2c68-7314-bb2a-ae725c0a9489",
                                                        "invoice"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Tax invoice not found.\",\n    \"data\": {\n        \"error_code\": \"INVOICE_NOT_FOUND\",\n        \"correlation_id\": \"141593cd-6538-4fe3-a297-af411e14e433\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/conversation",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "conversation"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "before",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "Fetch up to 50 older messages before this message UUID (CUST-018, PROV-021). — `string (uuid)`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.conversations.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `before` — Fetch up to 50 older messages before this message UUID (CUST-018, PROV-021). — `string (uuid)` (optional)\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Load customer conversation history\n- `200` Order without messages returns an empty history\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Foreign conversation hidden — `error_code: ENTITY_NOT_FOUND`\n- `404` History cursor belongs to another conversation — `error_code: ENTITY_NOT_FOUND`\n- `422` History cursor must be a UUID\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"conversation\": {\n            \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n            \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n            \"status\": {\n                \"value\": \"open\",\n                \"label\": \"Open\"\n            },\n            \"latest_message\": {\n                \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"I will arrive shortly.\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            },\n            \"unread_count\": 0\n        },\n        \"messages\": [\n            {\n                \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"I will arrive shortly.\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"has_more\": false\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Load customer conversation history",
                                            "_joshen": {
                                                "route": "client.conversations.show",
                                                "name": "Load customer conversation history",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_paid_participants_receive_private_messages_and_explicit_read_updates"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-0ff7-73d9-90e5-52260adae3b0",
                                                        "conversation"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"conversation\": {\n            \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n            \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n            \"status\": {\n                \"value\": \"open\",\n                \"label\": \"Open\"\n            },\n            \"latest_message\": {\n                \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"I will arrive shortly.\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            },\n            \"unread_count\": 0\n        },\n        \"messages\": [\n            {\n                \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"I will arrive shortly.\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"has_more\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order without messages returns an empty history",
                                            "_joshen": {
                                                "route": "client.conversations.show",
                                                "name": "Order without messages returns an empty history",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-1cdf-728e-b6c2-1134044277e7/conversation",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_history_of_an_order_without_a_conversation_reads_without_writing"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-1cdf-728e-b6c2-1134044277e7/conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-1cdf-728e-b6c2-1134044277e7",
                                                        "conversation"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"conversation\": {\n            \"id\": null,\n            \"order_id\": \"01a19619-1cdf-728e-b6c2-1134044277e7\",\n            \"status\": {\n                \"value\": \"open\",\n                \"label\": \"Open\"\n            },\n            \"latest_message\": null,\n            \"unread_count\": 0\n        },\n        \"messages\": [],\n        \"has_more\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "conversation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Fetch up to 50 older messages before this message UUID (CUST-018, PROV-021). — `string (uuid)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "conversation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Fetch up to 50 older messages before this message UUID (CUST-018, PROV-021). — `string (uuid)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Foreign conversation hidden",
                                            "_joshen": {
                                                "route": "client.conversations.show",
                                                "name": "Foreign conversation hidden",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_unpaid_foreign_and_completed_orders_cannot_send_but_history_remains"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-1731-739f-aa75-6561845c2970",
                                                        "conversation"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"booking.order_not_found\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"486b3c04-76ea-4db8-bcd5-bdc01929cc17\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 History cursor belongs to another conversation",
                                            "_joshen": {
                                                "route": "client.conversations.show",
                                                "name": "History cursor belongs to another conversation",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-2f5e-70ab-bec0-4b8cad39b9a7/conversation",
                                                    "query": {
                                                        "before": "01a19619-35a2-7240-8911-578dcb4c8b80"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_foreign_unknown_and_integer_order_ids_and_cross_conversation_cursors_are_hidden"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-2f5e-70ab-bec0-4b8cad39b9a7/conversation?before=01a19619-35a2-7240-8911-578dcb4c8b80",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-2f5e-70ab-bec0-4b8cad39b9a7",
                                                        "conversation"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "01a19619-35a2-7240-8911-578dcb4c8b80"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Message not found in this conversation.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"1489a4cb-51e3-4c4e-8bc7-77563b053b53\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 History cursor must be a UUID",
                                            "_joshen": {
                                                "route": "client.conversations.show",
                                                "name": "History cursor must be a UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation",
                                                    "query": {
                                                        "before": "bad"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_unpaid_foreign_and_completed_orders_cannot_send_but_history_remains"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation?before=bad",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-1731-739f-aa75-6561845c2970",
                                                        "conversation"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "bad"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The before field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"before\": [\n                \"The before field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/conversation/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "conversation",
                                                "messages"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.conversations.messages.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context, throttle:order-chat`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `body`\n- **Description:** Order execution text sent by the authenticated participant; attachments are unavailable (BR-15, TD-144).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `I will arrive shortly.`\n- **Validation rules:** `required|string|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:4000` — must not exceed 4000.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `201` Send text message\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Message body required\n- `422` Message exceeds text limit\n- `422` Unpaid order chat unavailable — `error_code: ORDER_CHAT_UNAVAILABLE`\n- `429` Too many chat messages — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n        \"sender_role\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"type\": {\n            \"value\": \"text\",\n            \"label\": \"Text\"\n        },\n        \"body\": \"I will arrive shortly.\",\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n        \"conversation_id\": \"01a19619-1639-720f-90ef-038fd272c2c7\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"body\": \"I will arrive shortly.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Send text message",
                                            "_joshen": {
                                                "route": "client.conversations.messages.store",
                                                "name": "Send text message",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "I will arrive shortly."
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_paid_participants_receive_private_messages_and_explicit_read_updates"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-0ff7-73d9-90e5-52260adae3b0",
                                                        "conversation",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"I will arrive shortly.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n        \"sender_role\": {\n            \"value\": \"customer\",\n            \"label\": \"Customer\"\n        },\n        \"type\": {\n            \"value\": \"text\",\n            \"label\": \"Text\"\n        },\n        \"body\": \"I will arrive shortly.\",\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n        \"conversation_id\": \"01a19619-1639-720f-90ef-038fd272c2c7\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "conversation",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"I will arrive shortly.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "conversation",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"I will arrive shortly.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Message body required",
                                            "_joshen": {
                                                "route": "client.conversations.messages.store",
                                                "name": "Message body required",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": ""
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_unpaid_foreign_and_completed_orders_cannot_send_but_history_remains"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-1731-739f-aa75-6561845c2970",
                                                        "conversation",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Message exceeds text limit",
                                            "_joshen": {
                                                "route": "client.conversations.messages.store",
                                                "name": "Message exceeds text limit",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-3676-715b-9884-7aab1362cdd9/conversation/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_text_validation_accepts_the_limit_and_rejects_overlong_or_non_text_values"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-3676-715b-9884-7aab1362cdd9/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-3676-715b-9884-7aab1362cdd9",
                                                        "conversation",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field must not be greater than 4000 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field must not be greater than 4000 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unpaid order chat unavailable",
                                            "_joshen": {
                                                "route": "client.conversations.messages.store",
                                                "name": "Unpaid order chat unavailable",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Hello"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_unpaid_foreign_and_completed_orders_cannot_send_but_history_remains"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-1731-739f-aa75-6561845c2970",
                                                        "conversation",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Hello\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Order chat is read-only or unavailable for this order.\",\n    \"data\": {\n        \"error_code\": \"ORDER_CHAT_UNAVAILABLE\",\n        \"correlation_id\": \"a9c067f7-dff4-4856-8ab7-e9d6b93f271e\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many chat messages",
                                            "_joshen": {
                                                "route": "client.conversations.messages.store",
                                                "name": "Too many chat messages",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-2292-71b4-b875-aed86c08759f/conversation/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Two"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_sending_is_rate_limited_per_user"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-2292-71b4-b875-aed86c08759f/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-2292-71b4-b875-aed86c08759f",
                                                        "conversation",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Two\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Read",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/orders/:order/conversation/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "orders",
                                                ":order",
                                                "conversation",
                                                "read"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.conversations.read`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `through_message_id`\n- **Description:** UUID of the latest message actually displayed; marks earlier incoming messages in this conversation read (TD-144).\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Customer marks displayed messages read\n- `200` Partially mark displayed messages read\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Read cursor belongs to another conversation — `error_code: ENTITY_NOT_FOUND`\n- `422` Read cursor must be a UUID\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n        \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n        \"status\": {\n            \"value\": \"open\",\n            \"label\": \"Open\"\n        },\n        \"latest_message\": {\n            \"id\": \"01a19619-16b4-7263-b7c0-c47a1ccb5b3e\",\n            \"sender_role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"type\": {\n                \"value\": \"text\",\n                \"label\": \"Text\"\n            },\n            \"body\": \"On my way.\",\n            \"created_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"unread_count\": 0\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"through_message_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer marks displayed messages read",
                                            "_joshen": {
                                                "route": "client.conversations.read",
                                                "name": "Customer marks displayed messages read",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation/read",
                                                    "query": null,
                                                    "body": {
                                                        "through_message_id": "01a19619-16b4-7263-b7c0-c47a1ccb5b3e"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_paid_participants_receive_private_messages_and_explicit_read_updates"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-0ff7-73d9-90e5-52260adae3b0",
                                                        "conversation",
                                                        "read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"01a19619-16b4-7263-b7c0-c47a1ccb5b3e\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n        \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n        \"status\": {\n            \"value\": \"open\",\n            \"label\": \"Open\"\n        },\n        \"latest_message\": {\n            \"id\": \"01a19619-16b4-7263-b7c0-c47a1ccb5b3e\",\n            \"sender_role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"type\": {\n                \"value\": \"text\",\n                \"label\": \"Text\"\n            },\n            \"body\": \"On my way.\",\n            \"created_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"unread_count\": 0\n    }\n}"
                                        },
                                        {
                                            "name": "200 Partially mark displayed messages read",
                                            "_joshen": {
                                                "route": "client.conversations.read",
                                                "name": "Partially mark displayed messages read",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-4395-7312-ae28-fbba8c29d56b/conversation/read",
                                                    "query": null,
                                                    "body": {
                                                        "through_message_id": "01a19619-43b5-734c-8fee-b07ae3b8b167"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_mark_read_is_partial_repeatable_and_does_not_clear_later_messages"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-4395-7312-ae28-fbba8c29d56b/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-4395-7312-ae28-fbba8c29d56b",
                                                        "conversation",
                                                        "read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"01a19619-43b5-734c-8fee-b07ae3b8b167\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-43b4-723f-ae81-0787e560911f\",\n        \"order_id\": \"01a19619-4395-7312-ae28-fbba8c29d56b\",\n        \"status\": {\n            \"value\": \"open\",\n            \"label\": \"Open\"\n        },\n        \"latest_message\": {\n            \"id\": \"01a19619-4407-739f-ba06-52033a000da2\",\n            \"sender_role\": {\n                \"value\": \"provider\",\n                \"label\": \"Provider\"\n            },\n            \"type\": {\n                \"value\": \"text\",\n                \"label\": \"Text\"\n            },\n            \"body\": \"Message 2\",\n            \"created_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"unread_count\": 2\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "conversation",
                                                        "read"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/:order/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        ":order",
                                                        "conversation",
                                                        "read"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Read cursor belongs to another conversation",
                                            "_joshen": {
                                                "route": "client.conversations.read",
                                                "name": "Read cursor belongs to another conversation",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-2f5e-70ab-bec0-4b8cad39b9a7/conversation/read",
                                                    "query": null,
                                                    "body": {
                                                        "through_message_id": "01a19619-35a2-7240-8911-578dcb4c8b80"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_foreign_unknown_and_integer_order_ids_and_cross_conversation_cursors_are_hidden"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-2f5e-70ab-bec0-4b8cad39b9a7/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-2f5e-70ab-bec0-4b8cad39b9a7",
                                                        "conversation",
                                                        "read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"01a19619-35a2-7240-8911-578dcb4c8b80\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Message not found in this conversation.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"0dd5561e-b4c9-414c-9728-0fc33d2131c8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Read cursor must be a UUID",
                                            "_joshen": {
                                                "route": "client.conversations.read",
                                                "name": "Read cursor must be a UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/read",
                                                    "query": null,
                                                    "body": {
                                                        "through_message_id": "bad"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_unpaid_foreign_and_completed_orders_cannot_send_but_history_remains"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "orders",
                                                        "01a19619-1731-739f-aa75-6561845c2970",
                                                        "conversation",
                                                        "read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"bad\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The through message id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"through_message_id\": [\n                \"The through message id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Payment methods",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/payment-methods?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "payment-methods"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.payment-methods.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Methods with wallet\n- `200` Only mada enabled\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"type\": \"gateway\",\n            \"wallet_balance\": null\n        },\n        {\n            \"method\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"type\": \"gateway\",\n            \"wallet_balance\": null\n        },\n        {\n            \"method\": {\n                \"value\": \"wallet\",\n                \"label\": \"Wallet\"\n            },\n            \"type\": \"wallet\",\n            \"wallet_balance\": \"75.00\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Methods with wallet",
                                            "_joshen": {
                                                "route": "client.payment-methods.index",
                                                "name": "Methods with wallet",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/payment-methods",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PaymentMethodSettingsTest::test_ac_admin_025_customer_lists_enabled_methods_with_wallet_balance"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/payment-methods",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "payment-methods"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"type\": \"gateway\",\n            \"wallet_balance\": null\n        },\n        {\n            \"method\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"type\": \"gateway\",\n            \"wallet_balance\": null\n        },\n        {\n            \"method\": {\n                \"value\": \"wallet\",\n                \"label\": \"Wallet\"\n            },\n            \"type\": \"wallet\",\n            \"wallet_balance\": \"75.00\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 Only mada enabled",
                                            "_joshen": {
                                                "route": "client.payment-methods.index",
                                                "name": "Only mada enabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/payment-methods",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PaymentMethodSettingsTest::test_ac_admin_025_disabled_method_and_disabled_wallet_disappear_from_the_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/payment-methods",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "payment-methods"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"method\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"type\": \"gateway\",\n            \"wallet_balance\": null\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/payment-methods?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "payment-methods"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/payment-methods?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "payment-methods"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Review tags",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/review-tags?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "review-tags"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.review-tags.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Tags for my rating direction\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"tags\": [\n            {\n                \"id\": \"01a19c08-ff9d-72ff-acb6-1295e69e102d\",\n                \"label\": \"Sample-obkd01353568\"\n            },\n            {\n                \"id\": \"01a19c08-eb63-706b-8e8e-66bd0abd91fe\",\n                \"label\": \"Punctuality & Timing\"\n            },\n            {\n                \"id\": \"01a19c08-eb69-7243-a96c-5adb3b5f1db2\",\n                \"label\": \"Cleanliness & Sanitization\"\n            },\n            {\n                \"id\": \"01a19c08-eb6f-72e5-89df-220c70e143ef\",\n                \"label\": \"Professionalism & Skill\"\n            },\n            {\n                \"id\": \"01a19c08-eb75-7012-a701-1c23e04d0b75\",\n                \"label\": \"Premium Products\"\n            },\n            {\n                \"id\": \"01a19c08-eb7a-701b-b45d-cdf1b5acc7ed\",\n                \"label\": \"Polite & Friendly\"\n            },\n            {\n                \"id\": \"01a19c08-eb7f-735f-b2d0-358b33174367\",\n                \"label\": \"Neat & Professional Appearance\"\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Tags for my rating direction",
                                            "_joshen": {
                                                "route": "client.review-tags.index",
                                                "name": "Tags for my rating direction",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/review-tags",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/review-tags",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "review-tags"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"tags\": [\n            {\n                \"id\": \"01a19c08-ff9d-72ff-acb6-1295e69e102d\",\n                \"label\": \"Sample-obkd01353568\"\n            },\n            {\n                \"id\": \"01a19c08-eb63-706b-8e8e-66bd0abd91fe\",\n                \"label\": \"Punctuality & Timing\"\n            },\n            {\n                \"id\": \"01a19c08-eb69-7243-a96c-5adb3b5f1db2\",\n                \"label\": \"Cleanliness & Sanitization\"\n            },\n            {\n                \"id\": \"01a19c08-eb6f-72e5-89df-220c70e143ef\",\n                \"label\": \"Professionalism & Skill\"\n            },\n            {\n                \"id\": \"01a19c08-eb75-7012-a701-1c23e04d0b75\",\n                \"label\": \"Premium Products\"\n            },\n            {\n                \"id\": \"01a19c08-eb7a-701b-b45d-cdf1b5acc7ed\",\n                \"label\": \"Polite & Friendly\"\n            },\n            {\n                \"id\": \"01a19c08-eb7f-735f-b2d0-358b33174367\",\n                \"label\": \"Neat & Professional Appearance\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/review-tags?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "review-tags"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/review-tags?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "review-tags"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Invoices",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"invoice_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/invoices",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "invoices"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Target page number (1-based). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Page size between 1 and 100. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.invoices.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Target page number (1-based). — `integer` (optional)\n- `per_page` — Page size between 1 and 100. — `integer` (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `invoice_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Customer tax invoices list\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid invoice list pagination\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"invoices\": [\n            {\n                \"id\": \"01a1a5ba-339f-71dc-842e-e03cf7e2f3ff\",\n                \"invoice_no\": \"INV-100007\",\n                \"order_id\": \"01a1a5ba-338b-73b8-b769-fe84b2059916\",\n                \"subscription_id\": null,\n                \"subtotal\": \"50.00\",\n                \"delivery_fee\": \"0.00\",\n                \"discount\": \"0.00\",\n                \"vat_amount\": \"0.00\",\n                \"total\": \"50.00\",\n                \"seller\": null,\n                \"payment_method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"order_code\": \"JSH-rvzi21118618\",\n                \"items\": [],\n                \"plan_name\": null,\n                \"zatca_uuid\": null,\n                \"qr_payload\": null,\n                \"issued_at\": \"2026-10-25T07:00:00+00:00\"\n            },\n            {\n                \"id\": \"01a1a5ba-3378-72df-8e8b-7fc551847602\",\n                \"invoice_no\": \"INV-100006\",\n                \"order_id\": \"01a1a5ba-3188-7269-9c63-f081740dd1a9\",\n                \"subscription_id\": null,\n                \"subtotal\": \"50.00\",\n                \"delivery_fee\": \"0.00\",\n                \"discount\": \"0.00\",\n                \"vat_amount\": \"0.00\",\n                \"total\": \"50.00\",\n                \"seller\": null,\n                \"payment_method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"order_code\": \"JSH-obqm72214998\",\n                \"items\": [],\n                \"plan_name\": null,\n                \"zatca_uuid\": null,\n                \"qr_payload\": null,\n                \"issued_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/invoices?page=1\",\n            \"last\": \"http://localhost/api/v1/client/invoices?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/invoices?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/invoices\",\n            \"per_page\": 10,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer tax invoices list",
                                            "_joshen": {
                                                "route": "client.invoices.index",
                                                "name": "Customer tax invoices list",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/invoices",
                                                    "query": {
                                                        "per_page": 10
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderInvoiceTest::test_ac_cust_015_customer_can_list_own_invoices_paginated"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/invoices?per_page=10",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "invoices"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "10"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"invoices\": [\n            {\n                \"id\": \"01a1a5ba-339f-71dc-842e-e03cf7e2f3ff\",\n                \"invoice_no\": \"INV-100007\",\n                \"order_id\": \"01a1a5ba-338b-73b8-b769-fe84b2059916\",\n                \"subscription_id\": null,\n                \"subtotal\": \"50.00\",\n                \"delivery_fee\": \"0.00\",\n                \"discount\": \"0.00\",\n                \"vat_amount\": \"0.00\",\n                \"total\": \"50.00\",\n                \"seller\": null,\n                \"payment_method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"order_code\": \"JSH-rvzi21118618\",\n                \"items\": [],\n                \"plan_name\": null,\n                \"zatca_uuid\": null,\n                \"qr_payload\": null,\n                \"issued_at\": \"2026-10-25T07:00:00+00:00\"\n            },\n            {\n                \"id\": \"01a1a5ba-3378-72df-8e8b-7fc551847602\",\n                \"invoice_no\": \"INV-100006\",\n                \"order_id\": \"01a1a5ba-3188-7269-9c63-f081740dd1a9\",\n                \"subscription_id\": null,\n                \"subtotal\": \"50.00\",\n                \"delivery_fee\": \"0.00\",\n                \"discount\": \"0.00\",\n                \"vat_amount\": \"0.00\",\n                \"total\": \"50.00\",\n                \"seller\": null,\n                \"payment_method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"order_code\": \"JSH-obqm72214998\",\n                \"items\": [],\n                \"plan_name\": null,\n                \"zatca_uuid\": null,\n                \"qr_payload\": null,\n                \"issued_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/invoices?page=1\",\n            \"last\": \"http://localhost/api/v1/client/invoices?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/invoices?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/invoices\",\n            \"per_page\": 10,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/invoices",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "invoices"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Target page number (1-based). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Page size between 1 and 100. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/invoices",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "invoices"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Target page number (1-based). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Page size between 1 and 100. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid invoice list pagination",
                                            "_joshen": {
                                                "route": "client.invoices.index",
                                                "name": "Invalid invoice list pagination",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/invoices",
                                                    "query": {
                                                        "per_page": "999"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderInvoiceTest::test_ac_cust_015_customer_can_list_own_invoices_paginated"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/invoices?per_page=999",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "invoices"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "999"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be between 1 and 100.\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "invoice_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Conversations",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"conversation_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Conversation page number, starting at 1; defaults to 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Summaries per page, 1 to 100; defaults to 15. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.conversations.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Conversation page number, starting at 1; defaults to 1. — `integer` (optional)\n- `per_page` — Summaries per page, 1 to 100; defaults to 15. — `integer` (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `conversation_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` List customer conversations\n- `200` Paginated customer conversations\n- `200` Second page of customer conversations\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Conversation page size exceeds maximum\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n                \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                    \"sender_role\": {\n                        \"value\": \"customer\",\n                        \"label\": \"Customer\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"I will arrive shortly.\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 0\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/client/conversations?page=1\",\n        \"from\": 1,\n        \"last_page\": 1,\n        \"last_page_url\": \"http://localhost/api/v1/client/conversations?page=1\",\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"&laquo; Previous\",\n                \"page\": null,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next &raquo;\",\n                \"page\": null,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": null,\n        \"path\": \"http://localhost/api/v1/client/conversations\",\n        \"per_page\": 15,\n        \"prev_page_url\": null,\n        \"to\": 1,\n        \"total\": 1\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 List customer conversations",
                                            "_joshen": {
                                                "route": "client.conversations.index",
                                                "name": "List customer conversations",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/conversations",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_paid_participants_receive_private_messages_and_explicit_read_updates"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "conversations"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n                \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                    \"sender_role\": {\n                        \"value\": \"customer\",\n                        \"label\": \"Customer\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"I will arrive shortly.\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 0\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/client/conversations?page=1\",\n        \"from\": 1,\n        \"last_page\": 1,\n        \"last_page_url\": \"http://localhost/api/v1/client/conversations?page=1\",\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"&laquo; Previous\",\n                \"page\": null,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next &raquo;\",\n                \"page\": null,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": null,\n        \"path\": \"http://localhost/api/v1/client/conversations\",\n        \"per_page\": 15,\n        \"prev_page_url\": null,\n        \"to\": 1,\n        \"total\": 1\n    }\n}"
                                        },
                                        {
                                            "name": "200 Paginated customer conversations",
                                            "_joshen": {
                                                "route": "client.conversations.index",
                                                "name": "Paginated customer conversations",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/conversations",
                                                    "query": {
                                                        "per_page": "2"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_conversation_list_is_paginated_and_orders_empty_conversations_last"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/conversations?per_page=2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "2"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": \"01a19619-5cd2-72e3-8ca5-f609920edfec\",\n                \"order_id\": \"01a19619-5cc3-723d-953d-c58340264718\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-5cd4-72d9-ad26-100c61ea3630\",\n                    \"sender_role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"Message 3\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 1\n            },\n            {\n                \"id\": \"01a19619-5cbc-736d-a415-b9016f647e01\",\n                \"order_id\": \"01a19619-5cae-72ff-87a9-a00efbfad628\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-5cc0-73d9-a932-7f2c64389aa2\",\n                    \"sender_role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"Message 2\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 1\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=1\",\n        \"from\": 1,\n        \"last_page\": 3,\n        \"last_page_url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=3\",\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"&laquo; Previous\",\n                \"page\": null,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": true\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=2\",\n                \"label\": \"2\",\n                \"page\": 2,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=3\",\n                \"label\": \"3\",\n                \"page\": 3,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=2\",\n                \"label\": \"Next &raquo;\",\n                \"page\": 2,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=2\",\n        \"path\": \"http://localhost/api/v1/client/conversations\",\n        \"per_page\": 2,\n        \"prev_page_url\": null,\n        \"to\": 2,\n        \"total\": 6\n    }\n}"
                                        },
                                        {
                                            "name": "200 Second page of customer conversations",
                                            "_joshen": {
                                                "route": "client.conversations.index",
                                                "name": "Second page of customer conversations",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/conversations",
                                                    "query": {
                                                        "per_page": "2",
                                                        "page": "2"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_conversation_list_is_paginated_and_orders_empty_conversations_last"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/conversations?per_page=2&page=2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "2"
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "2"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 2,\n        \"data\": [\n            {\n                \"id\": \"01a19619-5cab-71a7-8894-2d22a8a22fdf\",\n                \"order_id\": \"01a19619-5ca0-72ba-a8b1-22a9743431d5\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-5cad-72c5-a986-cf7e17b88719\",\n                    \"sender_role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"Message 1\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 1\n            },\n            {\n                \"id\": \"01a19619-5c9c-7356-b3f2-9198e9777356\",\n                \"order_id\": \"01a19619-5c8a-70be-903a-ad87e296025b\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-5c9e-72c5-b32a-6276ba40a299\",\n                    \"sender_role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"Message 0\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 1\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=1\",\n        \"from\": 3,\n        \"last_page\": 3,\n        \"last_page_url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=3\",\n        \"links\": [\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=1\",\n                \"label\": \"&laquo; Previous\",\n                \"page\": 1,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=2\",\n                \"label\": \"2\",\n                \"page\": 2,\n                \"active\": true\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=3\",\n                \"label\": \"3\",\n                \"page\": 3,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=3\",\n                \"label\": \"Next &raquo;\",\n                \"page\": 3,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=3\",\n        \"path\": \"http://localhost/api/v1/client/conversations\",\n        \"per_page\": 2,\n        \"prev_page_url\": \"http://localhost/api/v1/client/conversations?per_page=2&page=1\",\n        \"to\": 4,\n        \"total\": 6\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Conversation page number, starting at 1; defaults to 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Summaries per page, 1 to 100; defaults to 15. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Conversation page number, starting at 1; defaults to 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Summaries per page, 1 to 100; defaults to 15. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Conversation page size exceeds maximum",
                                            "_joshen": {
                                                "route": "client.conversations.index",
                                                "name": "Conversation page size exceeds maximum",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/conversations",
                                                    "query": {
                                                        "per_page": "101"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_conversation_list_is_paginated_and_orders_empty_conversations_last"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/conversations?per_page=101",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "101"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be between 1 and 100.\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "conversation_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "System",
                    "item": [
                        {
                            "name": "Settings",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/settings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "settings"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.settings.view`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Current settings\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Settings retrieved successfully\",\n    \"data\": {\n        \"locale\": \"ar\",\n        \"allow_notifications\": true\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Current settings",
                                            "_joshen": {
                                                "route": "client.settings.view",
                                                "name": "Current settings",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/settings",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAccountExamplesTest::test_ac_cust_023_settings_view_update_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "settings"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings retrieved successfully\",\n    \"data\": {\n        \"locale\": \"ar\",\n        \"allow_notifications\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "settings"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "settings"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/settings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "settings"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.settings.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `allow_notifications`\n- **Description:** Master switch for push notifications on this account; use the category preferences endpoint for finer control.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `locale`\n- **Description:** Preferred language of the customer app: `ar` or `en`.\n- **Type:** `string (enum)`\n- **Allowed values:** `en`, `ar`\n- **Required:** optional\n- **Example:** `ar`\n- **Validation rules:** `sometimes|string|in:en,ar`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `in:en,ar` — must be one of: en, ar.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Notifications off and English\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unsupported language and non-boolean switch\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": {\n        \"locale\": \"en\",\n        \"allow_notifications\": false\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"allow_notifications\": true,\n    \"locale\": \"ar\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Notifications off and English",
                                            "_joshen": {
                                                "route": "client.settings.update",
                                                "name": "Notifications off and English",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/settings",
                                                    "query": null,
                                                    "body": {
                                                        "allow_notifications": false,
                                                        "locale": "en"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAccountExamplesTest::test_ac_cust_023_settings_view_update_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"allow_notifications\": false,\n    \"locale\": \"en\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Settings updated successfully\",\n    \"data\": {\n        \"locale\": \"en\",\n        \"allow_notifications\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"allow_notifications\": true,\n    \"locale\": \"ar\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"allow_notifications\": true,\n    \"locale\": \"ar\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unsupported language and non-boolean switch",
                                            "_joshen": {
                                                "route": "client.settings.update",
                                                "name": "Unsupported language and non-boolean switch",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/client/settings",
                                                    "query": null,
                                                    "body": {
                                                        "allow_notifications": "maybe",
                                                        "locale": "fr"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CustomerAccountExamplesTest::test_ac_cust_023_settings_view_update_and_validation"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/settings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "settings"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"allow_notifications\": \"maybe\",\n    \"locale\": \"fr\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Allow Notifications field must be true or false. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"allow_notifications\": [\n                \"The Allow Notifications field must be true or false.\"\n            ],\n            \"locale\": [\n                \"The selected Language is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Wallet",
                    "item": [
                        {
                            "name": "Wallet",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "wallet"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "refund_credit",
                                                    "description": "Filter by wallet transaction type. — `string (enum)`, one of: `refund_credit`, `order_debit`, `order_debit_reversal`, `admin_adjustment`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.wallet.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:customer, active, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n- `type` — Filter by wallet transaction type. — `string (enum)`, one of: `refund_credit`, `order_debit`, `order_debit_reversal`, `admin_adjustment` (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Empty wallet\n- `200` Page 2 of the ledger\n- `200` Refund credit after cancellation\n- `200` Wallet with order debit\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid transaction type\n- `422` per_page above 100\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"balance\": \"0.00\",\n        \"wallet_payments_enabled\": true,\n        \"transactions\": [],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"last\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": null,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/wallet\",\n            \"per_page\": 15,\n            \"to\": null,\n            \"total\": 0\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Empty wallet",
                                            "_joshen": {
                                                "route": "client.wallet.show",
                                                "name": "Empty wallet",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/wallet",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_016_empty_wallet_read_does_not_create_one"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/wallet",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "wallet"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"balance\": \"0.00\",\n        \"wallet_payments_enabled\": true,\n        \"transactions\": [],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"last\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": null,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/wallet\",\n            \"per_page\": 15,\n            \"to\": null,\n            \"total\": 0\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Page 2 of the ledger",
                                            "_joshen": {
                                                "route": "client.wallet.show",
                                                "name": "Page 2 of the ledger",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/wallet",
                                                    "query": {
                                                        "per_page": 1,
                                                        "page": 2
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_016_wallet_transactions_paginate_with_sibling_links_and_meta"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/wallet?per_page=1&page=2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "wallet"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "1"
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "2"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"balance\": \"30.00\",\n        \"wallet_payments_enabled\": true,\n        \"transactions\": [\n            {\n                \"id\": \"01a1a60a-7b83-71c6-9ef4-ece57bc03a1d\",\n                \"type\": {\n                    \"value\": \"refund_credit\",\n                    \"label\": \"Refund credit\"\n                },\n                \"amount\": \"10.00\",\n                \"balance_after\": \"10.00\",\n                \"order\": null,\n                \"refund_id\": null,\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"last\": \"http://localhost/api/v1/client/wallet?page=2\",\n            \"prev\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 2,\n            \"from\": 2,\n            \"last_page\": 2,\n            \"links\": [\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=1\",\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": 1,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=2\",\n                    \"label\": \"2\",\n                    \"page\": 2,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/wallet\",\n            \"per_page\": 1,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Refund credit after cancellation",
                                            "_joshen": {
                                                "route": "client.wallet.show",
                                                "name": "Refund credit after cancellation",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/wallet",
                                                    "query": {
                                                        "type": "refund_credit",
                                                        "per_page": 1
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_016_wallet_payment_cancelled_before_execution_returns_full_credit"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/wallet?type=refund_credit&per_page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "wallet"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "type",
                                                            "value": "refund_credit"
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"balance\": \"100.00\",\n        \"wallet_payments_enabled\": true,\n        \"transactions\": [\n            {\n                \"id\": \"01a1a60a-8b7e-72bb-a54d-1cce3283623e\",\n                \"type\": {\n                    \"value\": \"refund_credit\",\n                    \"label\": \"Refund credit\"\n                },\n                \"amount\": \"100.00\",\n                \"balance_after\": \"100.00\",\n                \"order\": {\n                    \"id\": \"01a1a60a-890d-7166-9b5a-67be5f27a30c\",\n                    \"code\": \"JSH-txub14111816\"\n                },\n                \"refund_id\": \"01a1a60a-8b7c-71e0-9855-3f44cba67c07\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"last\": \"http://localhost/api/v1/client/wallet?page=2\",\n            \"prev\": null,\n            \"next\": \"http://localhost/api/v1/client/wallet?page=2\"\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 2,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=2\",\n                    \"label\": \"2\",\n                    \"page\": 2,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=2\",\n                    \"label\": \"Next &raquo;\",\n                    \"page\": 2,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/wallet\",\n            \"per_page\": 1,\n            \"to\": 1,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Wallet with order debit",
                                            "_joshen": {
                                                "route": "client.wallet.show",
                                                "name": "Wallet with order debit",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/wallet",
                                                    "query": {
                                                        "type": "order_debit"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_015_wallet_payment_works_with_simulator_disabled_and_debits_once"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/wallet?type=order_debit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "wallet"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "type",
                                                            "value": "order_debit"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"balance\": \"50.00\",\n        \"wallet_payments_enabled\": true,\n        \"transactions\": [\n            {\n                \"id\": \"01a1a60a-8084-7112-b3ba-ab26bcb078ca\",\n                \"type\": {\n                    \"value\": \"order_debit\",\n                    \"label\": \"Order payment\"\n                },\n                \"amount\": \"-100.00\",\n                \"balance_after\": \"50.00\",\n                \"order\": {\n                    \"id\": \"01a1a60a-7e61-72cf-be6c-2687efc9e137\",\n                    \"code\": \"JSH-evxi34762864\"\n                },\n                \"refund_id\": null,\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"last\": \"http://localhost/api/v1/client/wallet?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/wallet?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/wallet\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/wallet",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "wallet"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "type",
                                                            "value": "refund_credit",
                                                            "description": "Filter by wallet transaction type. — `string (enum)`, one of: `refund_credit`, `order_debit`, `order_debit_reversal`, `admin_adjustment`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "client.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "client",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/wallet",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "wallet"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "type",
                                                            "value": "refund_credit",
                                                            "description": "Filter by wallet transaction type. — `string (enum)`, one of: `refund_credit`, `order_debit`, `order_debit_reversal`, `admin_adjustment`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"ba2fb270-e115-4b43-ae1a-da69a1064f23\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid transaction type",
                                            "_joshen": {
                                                "route": "client.wallet.show",
                                                "name": "Invalid transaction type",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/wallet",
                                                    "query": {
                                                        "type": "unknown"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_016_invalid_transaction_filter_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/wallet?type=unknown",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "wallet"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "type",
                                                            "value": "unknown"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected type is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"type\": [\n                \"The selected type is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 per_page above 100",
                                            "_joshen": {
                                                "route": "client.wallet.show",
                                                "name": "per_page above 100",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/wallet",
                                                    "query": {
                                                        "per_page": 101
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\WalletTest::test_ac_cust_016_invalid_transaction_filter_returns_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/wallet?per_page=101",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "wallet"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "101"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be between 1 and 100.\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "Guest",
            "item": [
                {
                    "name": "Content",
                    "item": [
                        {
                            "name": "Pages",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/pages/:slug",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "pages",
                                                ":slug"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "slug",
                                                    "value": "terms",
                                                    "description": "Static page key, not a uuid: `terms`, `privacy`, `female_declaration`, `cancellation_policy` or `about` (TD-175)."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.pages.show`\n**Middleware:** `api, set_locale, cors`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Responses:**\n- `200` English text\n- `200` Falls back to the shared page\n- `200` Page of the app audience\n- `404` Unknown slug — `error_code: ENTITY_NOT_FOUND`\n- `404` Valid slug without a page — `error_code: ENTITY_NOT_FOUND`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Page retrieved.\",\n    \"data\": {\n        \"id\": \"01a1bab1-57d9-729a-9470-90c2df66f135\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms and conditions\"\n        },\n        \"title\": \"Title customer\",\n        \"content\": \"Body customer\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:46+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 English text",
                                            "_joshen": {
                                                "route": "client.pages.show",
                                                "name": "English text",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/pages/terms",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_follows_the_locale_and_falls_back_to_arabic"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/pages/terms",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "pages",
                                                        "terms"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Page retrieved.\",\n    \"data\": {\n        \"id\": \"01a1bab1-57d9-729a-9470-90c2df66f135\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms and conditions\"\n        },\n        \"title\": \"Title customer\",\n        \"content\": \"Body customer\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:46+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Falls back to the shared page",
                                            "_joshen": {
                                                "route": "client.pages.show",
                                                "name": "Falls back to the shared page",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/pages/privacy",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_falls_back_to_all_when_no_app_page_exists"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/pages/privacy",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "pages",
                                                        "privacy"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الصفحة.\",\n    \"data\": {\n        \"id\": \"01a1bab1-5779-7365-aaa3-68d3a018cba1\",\n        \"slug\": {\n            \"value\": \"privacy\",\n            \"label\": \"سياسة الخصوصية\"\n        },\n        \"title\": \"عنوان all\",\n        \"content\": \"نص all\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:46+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Page of the app audience",
                                            "_joshen": {
                                                "route": "client.pages.show",
                                                "name": "Page of the app audience",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/pages/terms",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_of_the_apps_audience_wins_over_all"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/pages/terms",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "pages",
                                                        "terms"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الصفحة.\",\n    \"data\": {\n        \"id\": \"01a1bab1-56e4-71e7-8599-78ea80e93fc2\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"الشروط والأحكام\"\n        },\n        \"title\": \"عنوان customer\",\n        \"content\": \"نص customer\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:46+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown slug",
                                            "_joshen": {
                                                "route": "client.pages.show",
                                                "name": "Unknown slug",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/pages/not-a-page",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_unknown_slug_and_missing_page_are_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/pages/not-a-page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "pages",
                                                        "not-a-page"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الصفحة غير موجودة.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"75e597a2-742f-4ac8-ace5-f3e175f9bf8f\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Valid slug without a page",
                                            "_joshen": {
                                                "route": "client.pages.show",
                                                "name": "Valid slug without a page",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/pages/about",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_unknown_slug_and_missing_page_are_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/pages/about",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "pages",
                                                        "about"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الصفحة غير موجودة.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"4233ee04-44f6-4799-b740-250536733fd3\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": []
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Faqs",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"faq_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/faqs",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "faqs"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.faqs.index`\n**Middleware:** `api, set_locale, cors`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Saves `faq_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` FAQs of the app audience\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الأسئلة الشائعة.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab1-58ab-73d9-80c7-fb6dc8b41e7d\",\n            \"question\": \"س١\",\n            \"answer\": \"ج١\",\n            \"sort_order\": 1\n        },\n        {\n            \"id\": \"01a1bab1-58a9-71f8-9216-8fdd702bcfd2\",\n            \"question\": \"س٢\",\n            \"answer\": \"ج٢\",\n            \"sort_order\": 2\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 FAQs of the app audience",
                                            "_joshen": {
                                                "route": "client.faqs.index",
                                                "name": "FAQs of the app audience",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/faqs",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_faqs_list_active_items_of_the_audience_in_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/faqs",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "faqs"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الأسئلة الشائعة.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab1-58ab-73d9-80c7-fb6dc8b41e7d\",\n            \"question\": \"س١\",\n            \"answer\": \"ج١\",\n            \"sort_order\": 1\n        },\n        {\n            \"id\": \"01a1bab1-58a9-71f8-9216-8fdd702bcfd2\",\n            \"question\": \"س٢\",\n            \"answer\": \"ج٢\",\n            \"sort_order\": 2\n        }\n    ]\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "faq_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": []
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Categories",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"category_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.categories.index`\n**Middleware:** `api, set_locale, cors, app.optional:customer`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `category_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Active categories with service counts\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Categories retrieved.\",\n    \"data\": [\n        {\n            \"id\": \"01a17208-4d07-73e8-85ae-9dcf984fb132\",\n            \"name\": \"Makeup\",\n            \"description\": \"Occasion makeup\",\n            \"icon_key\": \"lipstick\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n            \"services_count\": 1\n        },\n        {\n            \"id\": \"01a17208-4d13-70e7-8e76-9dc37e956e9c\",\n            \"name\": \"Hair\",\n            \"description\": \"Styling and treatments\",\n            \"icon_key\": \"scissors\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n            \"services_count\": 0\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Active categories with service counts",
                                            "_joshen": {
                                                "route": "client.categories.index",
                                                "name": "Active categories with service counts",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/categories",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_006_categories_list_counts_active_services"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Categories retrieved.\",\n    \"data\": [\n        {\n            \"id\": \"01a17208-4d07-73e8-85ae-9dcf984fb132\",\n            \"name\": \"Makeup\",\n            \"description\": \"Occasion makeup\",\n            \"icon_key\": \"lipstick\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n            \"services_count\": 1\n        },\n        {\n            \"id\": \"01a17208-4d13-70e7-8e76-9dc37e956e9c\",\n            \"name\": \"Hair\",\n            \"description\": \"Styling and treatments\",\n            \"icon_key\": \"scissors\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n            \"services_count\": 0\n        }\n    ]\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "category_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"category_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/categories/:category",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "categories",
                                                ":category"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "category",
                                                    "value": "{{category_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "address_id",
                                                    "value": "",
                                                    "description": "Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "",
                                                    "description": "City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "district_id",
                                                    "value": "",
                                                    "description": "District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.categories.show`\n**Middleware:** `api, set_locale, cors, app.optional:customer`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `address_id` — Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string` (optional)\n- `city_id` — City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `district_id` — District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19) (optional)\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `category_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Category with from prices for a district\n- `200` Signed-in default address inside a radius\n- `404` Inactive or unknown category — `error_code: ENTITY_NOT_FOUND`\n- `422` City id is not a uuid\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Category retrieved.\",\n    \"data\": {\n        \"id\": \"01a17208-4d42-72d6-835f-5554fd4d0657\",\n        \"name\": \"Makeup\",\n        \"description\": \"Occasion makeup\",\n        \"icon_key\": \"lipstick\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"services_count\": 2,\n        \"services\": [\n            {\n                \"id\": \"01a17208-4d44-7026-8c47-3181c188ddbe\",\n                \"name\": \"Evening makeup\",\n                \"description\": \"Full evening look\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-4d42-72d6-835f-5554fd4d0657\",\n                    \"name\": \"Makeup\"\n                },\n                \"duration_min\": 120,\n                \"from_price\": \"350.00\"\n            },\n            {\n                \"id\": \"01a17208-4d47-7369-8a54-05ad6785daf2\",\n                \"name\": \"Bridal makeup\",\n                \"description\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-4d42-72d6-835f-5554fd4d0657\",\n                    \"name\": \"Makeup\"\n                },\n                \"duration_min\": 60,\n                \"from_price\": null\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Category with from prices for a district",
                                            "_joshen": {
                                                "route": "client.categories.show",
                                                "name": "Category with from prices for a district",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/categories/01a17208-4d42-72d6-835f-5554fd4d0657",
                                                    "query": {
                                                        "city_id": "01a17208-4d2f-725b-a06a-1c33ef4fd13c",
                                                        "district_id": "01a17208-4d3d-735c-b826-aba1d0f621d6"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_006_from_price_ignores_unapproved_out_of_area_and_inactive_prices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/categories/01a17208-4d42-72d6-835f-5554fd4d0657?city_id=01a17208-4d2f-725b-a06a-1c33ef4fd13c&district_id=01a17208-4d3d-735c-b826-aba1d0f621d6",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "categories",
                                                        "01a17208-4d42-72d6-835f-5554fd4d0657"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a17208-4d2f-725b-a06a-1c33ef4fd13c"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a17208-4d3d-735c-b826-aba1d0f621d6"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Category retrieved.\",\n    \"data\": {\n        \"id\": \"01a17208-4d42-72d6-835f-5554fd4d0657\",\n        \"name\": \"Makeup\",\n        \"description\": \"Occasion makeup\",\n        \"icon_key\": \"lipstick\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"services_count\": 2,\n        \"services\": [\n            {\n                \"id\": \"01a17208-4d44-7026-8c47-3181c188ddbe\",\n                \"name\": \"Evening makeup\",\n                \"description\": \"Full evening look\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-4d42-72d6-835f-5554fd4d0657\",\n                    \"name\": \"Makeup\"\n                },\n                \"duration_min\": 120,\n                \"from_price\": \"350.00\"\n            },\n            {\n                \"id\": \"01a17208-4d47-7369-8a54-05ad6785daf2\",\n                \"name\": \"Bridal makeup\",\n                \"description\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-4d42-72d6-835f-5554fd4d0657\",\n                    \"name\": \"Makeup\"\n                },\n                \"duration_min\": 60,\n                \"from_price\": null\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "200 Signed-in default address inside a radius",
                                            "_joshen": {
                                                "route": "client.categories.show",
                                                "name": "Signed-in default address inside a radius",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/categories/01a17208-4f02-701d-bba6-f5648ca290a1",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_006_coverage_by_district_radius_and_signed_in_default_address"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/categories/01a17208-4f02-701d-bba6-f5648ca290a1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "categories",
                                                        "01a17208-4f02-701d-bba6-f5648ca290a1"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Category retrieved.\",\n    \"data\": {\n        \"id\": \"01a17208-4f02-701d-bba6-f5648ca290a1\",\n        \"name\": \"Makeup\",\n        \"description\": \"Occasion makeup\",\n        \"icon_key\": \"lipstick\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"services_count\": 1,\n        \"services\": [\n            {\n                \"id\": \"01a17208-4f05-73a6-a83a-39635dd5a9f2\",\n                \"name\": \"Evening makeup\",\n                \"description\": \"Full evening look\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-4f02-701d-bba6-f5648ca290a1\",\n                    \"name\": \"Makeup\"\n                },\n                \"duration_min\": 120,\n                \"from_price\": \"300.00\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "404 Inactive or unknown category",
                                            "_joshen": {
                                                "route": "client.categories.show",
                                                "name": "Inactive or unknown category",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/categories/01a17208-4d42-72d6-835f-5554fd4d0657",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_006_from_price_ignores_unapproved_out_of_area_and_inactive_prices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/categories/01a17208-4d42-72d6-835f-5554fd4d0657",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "categories",
                                                        "01a17208-4d42-72d6-835f-5554fd4d0657"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Category not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"f6e79ff8-efd9-4812-aa77-e4c1e638e7e8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 City id is not a uuid",
                                            "_joshen": {
                                                "route": "client.categories.show",
                                                "name": "City id is not a uuid",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/categories/01a17208-4d42-72d6-835f-5554fd4d0657",
                                                    "query": {
                                                        "city_id": "1"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_006_from_price_ignores_unapproved_out_of_area_and_inactive_prices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/categories/01a17208-4d42-72d6-835f-5554fd4d0657?city_id=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "categories",
                                                        "01a17208-4d42-72d6-835f-5554fd4d0657"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The city id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The city id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "category_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Geo",
                    "item": [
                        {
                            "name": "Countries",
                            "item": [
                                {
                                    "name": "Countries",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"country_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/countries?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "countries"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[continent]",
                                                    "value": "asia",
                                                    "description": "Filter by continent",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.geo.countries`\n**Middleware:** `api, set_locale, cors, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n- `filters[continent]` — Filter by continent (optional)\n\n**Variables:**\n- Saves `country_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Active countries resolved from the IP location\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"countries\": [\n            {\n                \"id\": \"01a1969e-5252-734a-b271-5345dae57d21\",\n                \"name\": \"Sample-pxgl16408404\",\n                \"slug\": null,\n                \"currency\": null,\n                \"nationality\": null,\n                \"phone_code\": \"966\",\n                \"phone_starting_number\": null,\n                \"phone_length\": null,\n                \"short_name\": \"SA\",\n                \"continent\": \"asia\",\n                \"flag\": \"https://ui-avatars.com/api/?name=🏳&background=e5e7eb&color=6b7280&size=128\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/countries?page=1\",\n            \"last\": \"http://localhost/api/v1/client/countries?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/countries?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/countries\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Active countries resolved from the IP location",
                                            "_joshen": {
                                                "route": "client.geo.countries",
                                                "name": "Active countries resolved from the IP location",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/countries",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GeoRoutesTest::test_geo_lists_resolve_context_from_ip"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/countries",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "countries"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"countries\": [\n            {\n                \"id\": \"01a1969e-5252-734a-b271-5345dae57d21\",\n                \"name\": \"Sample-pxgl16408404\",\n                \"slug\": null,\n                \"currency\": null,\n                \"nationality\": null,\n                \"phone_code\": \"966\",\n                \"phone_starting_number\": null,\n                \"phone_length\": null,\n                \"short_name\": \"SA\",\n                \"continent\": \"asia\",\n                \"flag\": \"https://ui-avatars.com/api/?name=🏳&background=e5e7eb&color=6b7280&size=128\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/countries?page=1\",\n            \"last\": \"http://localhost/api/v1/client/countries?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/countries?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/countries\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "country_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": []
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Governorates",
                            "item": [
                                {
                                    "name": "Governorates",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"governorate_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/governorates?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "governorates"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[country_id]",
                                                    "value": "1",
                                                    "description": "Filter by country ID",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.geo.governorates`\n**Middleware:** `api, set_locale, cors, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status (optional)\n- `filters[country_id]` — Filter by country ID (optional)\n\n**Variables:**\n- Saves `governorate_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Active cities resolved from the IP location\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"governorates\": [\n            {\n                \"id\": \"01a1969e-5251-7372-8067-e7b7ba125be7\",\n                \"name\": \"Sample-aeiv48207779\",\n                \"slug\": null,\n                \"country_id\": \"01a1969e-5252-734a-b271-5345dae57d21\",\n                \"lat\": null,\n                \"lng\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/governorates?page=1\",\n            \"last\": \"http://localhost/api/v1/client/governorates?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/governorates?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/governorates\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Active cities resolved from the IP location",
                                            "_joshen": {
                                                "route": "client.geo.governorates",
                                                "name": "Active cities resolved from the IP location",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/governorates",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GeoRoutesTest::test_geo_lists_resolve_context_from_ip"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/governorates",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "governorates"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"governorates\": [\n            {\n                \"id\": \"01a1969e-5251-7372-8067-e7b7ba125be7\",\n                \"name\": \"Sample-aeiv48207779\",\n                \"slug\": null,\n                \"country_id\": \"01a1969e-5252-734a-b271-5345dae57d21\",\n                \"lat\": null,\n                \"lng\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/governorates?page=1\",\n            \"last\": \"http://localhost/api/v1/client/governorates?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/governorates?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/governorates\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "governorate_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": []
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Regions",
                            "item": [
                                {
                                    "name": "Regions",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"region_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/regions?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "regions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[governorate_id]",
                                                    "value": "1",
                                                    "description": "Filter by governorate ID",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.geo.regions`\n**Middleware:** `api, set_locale, cors, geo.context`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status (optional)\n- `filters[governorate_id]` — Filter by governorate ID (optional)\n\n**Variables:**\n- Saves `region_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Active districts resolved from the IP location\n- `200` Districts of one city by filters[governorate_id]\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"regions\": [],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/regions?page=1\",\n            \"last\": \"http://localhost/api/v1/client/regions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": null,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/regions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/regions\",\n            \"per_page\": 15,\n            \"to\": null,\n            \"total\": 0\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Active districts resolved from the IP location",
                                            "_joshen": {
                                                "route": "client.geo.regions",
                                                "name": "Active districts resolved from the IP location",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/regions",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GeoRoutesTest::test_geo_lists_resolve_context_from_ip"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/regions",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "regions"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"regions\": [],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/regions?page=1\",\n            \"last\": \"http://localhost/api/v1/client/regions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": null,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/regions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/regions\",\n            \"per_page\": 15,\n            \"to\": null,\n            \"total\": 0\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Districts of one city by filters[governorate_id]",
                                            "_joshen": {
                                                "route": "client.geo.regions",
                                                "name": "Districts of one city by filters[governorate_id]",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/regions",
                                                    "query": {
                                                        "filters": {
                                                            "governorate_id": "01a1969e-52f5-73c8-87ca-864a4f676b67"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GeoRoutesTest::test_regions_are_narrowed_by_the_documented_governorate_filter"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/regions?filters[governorate_id]=01a1969e-52f5-73c8-87ca-864a4f676b67",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "regions"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[governorate_id]",
                                                            "value": "01a1969e-52f5-73c8-87ca-864a4f676b67"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"regions\": [\n            {\n                \"id\": \"01a1969e-533e-73e2-9fec-ba96630898f7\",\n                \"name\": \"Sample-tyvs23720783\",\n                \"slug\": null,\n                \"governorate_id\": \"01a1969e-52f5-73c8-87ca-864a4f676b67\",\n                \"lat\": null,\n                \"lng\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/regions?page=1\",\n            \"last\": \"http://localhost/api/v1/client/regions?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/regions?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/regions\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "region_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": []
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "General",
                    "item": [
                        {
                            "name": "Onboarding slides",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"onboarding_slide_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/onboarding-slides",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "onboarding-slides"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.onboarding-slides.index`\n**Middleware:** `api, set_locale, cors, app.optional:customer`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `onboarding_slide_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Customer intro slides in Arabic\n- `200` Customer intro slides in order\n- `200` No intro slides configured\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الشرائح التعريفية.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab5-7963-723d-8897-fdef8c3d978e\",\n            \"title\": \"جمالك يصلك للبيت\",\n            \"body\": \"احجزي خدمة فورية\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        },\n        {\n            \"id\": \"01a1bab5-7960-7099-b2f9-8c16bfb22070\",\n            \"title\": \"أمان\",\n            \"body\": \"خصوصية\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Customer intro slides in Arabic",
                                            "_joshen": {
                                                "route": "client.onboarding-slides.index",
                                                "name": "Customer intro slides in Arabic",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "ar",
                                                    "path": "api/v1/client/onboarding-slides",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_onboarding_slides_are_customer_app_only_in_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "onboarding-slides"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الشرائح التعريفية.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab5-7963-723d-8897-fdef8c3d978e\",\n            \"title\": \"جمالك يصلك للبيت\",\n            \"body\": \"احجزي خدمة فورية\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        },\n        {\n            \"id\": \"01a1bab5-7960-7099-b2f9-8c16bfb22070\",\n            \"title\": \"أمان\",\n            \"body\": \"خصوصية\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 Customer intro slides in order",
                                            "_joshen": {
                                                "route": "client.onboarding-slides.index",
                                                "name": "Customer intro slides in order",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/onboarding-slides",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_onboarding_slides_are_customer_app_only_in_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "onboarding-slides"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Intro slides retrieved.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab5-7963-723d-8897-fdef8c3d978e\",\n            \"title\": \"Beauty at home\",\n            \"body\": \"Book an instant service\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        },\n        {\n            \"id\": \"01a1bab5-7960-7099-b2f9-8c16bfb22070\",\n            \"title\": \"Safety\",\n            \"body\": \"Private and safe\",\n            \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 No intro slides configured",
                                            "_joshen": {
                                                "route": "client.onboarding-slides.index",
                                                "name": "No intro slides configured",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/onboarding-slides",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_onboarding_slides_empty_when_none_configured"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/onboarding-slides",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "onboarding-slides"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Intro slides retrieved.\",\n    \"data\": []\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "onboarding_slide_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Home",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "address_id",
                                                    "value": "",
                                                    "description": "Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "",
                                                    "description": "City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "district_id",
                                                    "value": "",
                                                    "description": "District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.home.index`\n**Middleware:** `api, set_locale, cors, app.optional:customer`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `address_id` — Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string` (optional)\n- `city_id` — City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `district_id` — District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19) (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Default address in a disabled area\n- `200` Guest home for a district with featured provider first\n- `200` Guest home without packages\n- `200` Signed-in home for another saved address\n- `200` Signed-in home from the default address\n- `401` Invalid customer token — `error_code: UNAUTHENTICATED`\n- `403` Provider app token — `error_code: PERMISSION_DENIED`\n- `404` Address of another customer — `error_code: ENTITY_NOT_FOUND`\n- `404` Guest sends an address id — `error_code: ENTITY_NOT_FOUND`\n- `422` Chosen district is disabled — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` City id is not a uuid\n- `422` City is not a service area — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` District of another city — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Saved address in a disabled area — `error_code: SERVICE_AREA_UNAVAILABLE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Home retrieved.\",\n    \"data\": {\n        \"banners\": [],\n        \"categories\": [\n            {\n                \"id\": \"01a1bab5-7bfc-72eb-b3be-d195e797c757\",\n                \"name\": \"Makeup\",\n                \"description\": \"Occasion makeup\",\n                \"icon_key\": \"lipstick\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"services_count\": 1\n            }\n        ],\n        \"featured_packages\": [],\n        \"user\": {\n            \"name\": \"Quinn Hegmann\",\n            \"wallet_balance\": \"0.00\",\n            \"address\": {\n                \"id\": \"01a1bab5-7c51-73ce-87b4-526397982723\",\n                \"label\": \"Home\",\n                \"label_type\": {\n                    \"value\": \"home\",\n                    \"label\": \"Home\"\n                },\n                \"city\": {\n                    \"id\": \"01a1bab5-7bf1-7396-b6f8-4a9757bb7324\",\n                    \"name\": \"Riyadh\"\n                },\n                \"district\": {\n                    \"id\": \"01a1bab5-7bf7-7375-9256-9c1f97197f89\",\n                    \"name\": \"Al Yasmin\"\n                },\n                \"address_line\": \"Prince Sultan Street\",\n                \"details\": null,\n                \"lat\": null,\n                \"lng\": null,\n                \"is_default\": true,\n                \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street\"\n            },\n            \"is_service_area_available\": false\n        },\n        \"active_order\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Default address in a disabled area",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Default address in a disabled area",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_default_address_in_disabled_area_shows_no_providers"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Home retrieved.\",\n    \"data\": {\n        \"banners\": [],\n        \"categories\": [\n            {\n                \"id\": \"01a1bab5-7bfc-72eb-b3be-d195e797c757\",\n                \"name\": \"Makeup\",\n                \"description\": \"Occasion makeup\",\n                \"icon_key\": \"lipstick\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"services_count\": 1\n            }\n        ],\n        \"featured_packages\": [],\n        \"user\": {\n            \"name\": \"Quinn Hegmann\",\n            \"wallet_balance\": \"0.00\",\n            \"address\": {\n                \"id\": \"01a1bab5-7c51-73ce-87b4-526397982723\",\n                \"label\": \"Home\",\n                \"label_type\": {\n                    \"value\": \"home\",\n                    \"label\": \"Home\"\n                },\n                \"city\": {\n                    \"id\": \"01a1bab5-7bf1-7396-b6f8-4a9757bb7324\",\n                    \"name\": \"Riyadh\"\n                },\n                \"district\": {\n                    \"id\": \"01a1bab5-7bf7-7375-9256-9c1f97197f89\",\n                    \"name\": \"Al Yasmin\"\n                },\n                \"address_line\": \"Prince Sultan Street\",\n                \"details\": null,\n                \"lat\": null,\n                \"lng\": null,\n                \"is_default\": true,\n                \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street\"\n            },\n            \"is_service_area_available\": false\n        },\n        \"active_order\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Guest home for a district with featured provider first",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Guest home for a district with featured provider first",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "city_id": "01a1bab5-7ad3-739c-ad54-10cf6c11c7c6",
                                                        "district_id": "01a1bab5-7ad9-7052-a286-e4bfa41c8a74"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_featured_packages_rank_only_after_eligibility"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?city_id=01a1bab5-7ad3-739c-ad54-10cf6c11c7c6&district_id=01a1bab5-7ad9-7052-a286-e4bfa41c8a74",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a1bab5-7ad3-739c-ad54-10cf6c11c7c6"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a1bab5-7ad9-7052-a286-e4bfa41c8a74"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Home retrieved.\",\n    \"data\": {\n        \"banners\": [],\n        \"categories\": [\n            {\n                \"id\": \"01a1bab5-7ade-7207-a297-6fac8b1350d4\",\n                \"name\": \"Makeup\",\n                \"description\": \"Occasion makeup\",\n                \"icon_key\": \"lipstick\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"services_count\": 1\n            }\n        ],\n        \"featured_packages\": [\n            {\n                \"id\": \"01a1bab5-7bbe-71c2-adc0-2f66c28c5c23\",\n                \"name\": \"Sample-wvux37459644\",\n                \"description\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a1bab5-7ade-7207-a297-6fac8b1350d4\",\n                    \"name\": \"Makeup\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1bab5-7b1f-7179-972b-43a65a3beccf\",\n                    \"name\": \"Dr. Marcelo Corkery IV\"\n                },\n                \"price\": \"640.00\",\n                \"compare_at_price\": \"760.00\",\n                \"savings_amount\": \"120.00\",\n                \"validity_days\": 60,\n                \"services\": [\n                    {\n                        \"id\": \"01a1bab5-7ae1-7127-9c36-b356aae43f57\",\n                        \"name\": \"Evening makeup\",\n                        \"sessions\": 2\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bab5-7bbc-71f3-a53c-0ff3a88f7778\",\n                \"name\": \"Sample-jvay98264128\",\n                \"description\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a1bab5-7ade-7207-a297-6fac8b1350d4\",\n                    \"name\": \"Makeup\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1bab5-7ae5-7154-ac75-75a40af0fdaf\",\n                    \"name\": \"Prof. Emilie Walker II\"\n                },\n                \"price\": \"640.00\",\n                \"compare_at_price\": \"760.00\",\n                \"savings_amount\": \"120.00\",\n                \"validity_days\": 60,\n                \"services\": [\n                    {\n                        \"id\": \"01a1bab5-7ae1-7127-9c36-b356aae43f57\",\n                        \"name\": \"Evening makeup\",\n                        \"sessions\": 2\n                    }\n                ]\n            }\n        ],\n        \"user\": null,\n        \"active_order\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Guest home without packages",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Guest home without packages",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_001_guest_home_shows_live_banners_categories_and_null_user"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Home retrieved.\",\n    \"data\": {\n        \"banners\": [\n            {\n                \"id\": \"01a1bab5-79a8-7333-a3be-0e533e133b53\",\n                \"title\": \"Sample-wkhf58991834\",\n                \"subtitle\": null,\n                \"badge_text\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=S&background=e0e7ff&color=4f46e5&size=400\",\n                \"link_type\": {\n                    \"value\": \"none\",\n                    \"label\": \"No link\"\n                },\n                \"link\": null\n            },\n            {\n                \"id\": \"01a1bab5-79a3-739f-a8b0-0418c205d526\",\n                \"title\": \"25% off\",\n                \"subtitle\": \"See the package\",\n                \"badge_text\": \"Offer of the week\",\n                \"image\": \"https://ui-avatars.com/api/?name=S&background=e0e7ff&color=4f46e5&size=400\",\n                \"link_type\": {\n                    \"value\": \"category\",\n                    \"label\": \"Category\"\n                },\n                \"link\": \"01a1bab5-79a3-739f-a8b0-0418c1a6c76d\"\n            }\n        ],\n        \"categories\": [\n            {\n                \"id\": \"01a1bab5-79b5-7049-ab32-ff4f76386f0a\",\n                \"name\": \"Makeup\",\n                \"description\": \"Occasion makeup\",\n                \"icon_key\": \"lipstick\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"services_count\": 2\n            }\n        ],\n        \"featured_packages\": [],\n        \"user\": null,\n        \"active_order\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Signed-in home for another saved address",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Signed-in home for another saved address",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "address_id": "01a1bab5-7a8f-70d3-8873-e3d5621d18cf"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_signed_in_home_uses_default_address_wallet_and_address_id"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?address_id=01a1bab5-7a8f-70d3-8873-e3d5621d18cf",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a1bab5-7a8f-70d3-8873-e3d5621d18cf"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Home retrieved.\",\n    \"data\": {\n        \"banners\": [],\n        \"categories\": [\n            {\n                \"id\": \"01a1bab5-79fc-739f-8c97-97e96469acd9\",\n                \"name\": \"Makeup\",\n                \"description\": \"Occasion makeup\",\n                \"icon_key\": \"lipstick\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"services_count\": 1\n            }\n        ],\n        \"featured_packages\": [\n            {\n                \"id\": \"01a1bab5-7a81-73a8-9f29-b93e55a3818c\",\n                \"name\": \"Bridal package\",\n                \"description\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a1bab5-79fc-739f-8c97-97e96469acd9\",\n                    \"name\": \"Makeup\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1bab5-7a4f-72c4-9218-215fdd99039c\",\n                    \"name\": \"Lizeth Heathcote\"\n                },\n                \"price\": \"640.00\",\n                \"compare_at_price\": \"760.00\",\n                \"savings_amount\": \"120.00\",\n                \"validity_days\": 60,\n                \"services\": [\n                    {\n                        \"id\": \"01a1bab5-79ff-7045-9c16-8be2da926bc9\",\n                        \"name\": \"Evening makeup\",\n                        \"sessions\": 2\n                    }\n                ]\n            }\n        ],\n        \"user\": {\n            \"name\": \"Lamar Al-Otaibi\",\n            \"wallet_balance\": \"480.50\",\n            \"address\": {\n                \"id\": \"01a1bab5-7a8f-70d3-8873-e3d5621d18cf\",\n                \"label\": \"Work\",\n                \"label_type\": {\n                    \"value\": \"other\",\n                    \"label\": \"Other\"\n                },\n                \"city\": {\n                    \"id\": \"01a1bab5-79ee-7148-bf48-d88df4c248e4\",\n                    \"name\": \"Riyadh\"\n                },\n                \"district\": {\n                    \"id\": \"01a1bab5-79fa-7326-b6d9-3dfb4d974b8e\",\n                    \"name\": \"Al Malqa\"\n                },\n                \"address_line\": \"jyxaoduttpmr\",\n                \"details\": null,\n                \"lat\": null,\n                \"lng\": null,\n                \"is_default\": false,\n                \"formatted\": \"Riyadh، Al Malqa، jyxaoduttpmr\"\n            },\n            \"is_service_area_available\": true\n        },\n        \"active_order\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Signed-in home from the default address",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Signed-in home from the default address",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_signed_in_home_uses_default_address_wallet_and_address_id"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Home retrieved.\",\n    \"data\": {\n        \"banners\": [],\n        \"categories\": [\n            {\n                \"id\": \"01a1bab5-79fc-739f-8c97-97e96469acd9\",\n                \"name\": \"Makeup\",\n                \"description\": \"Occasion makeup\",\n                \"icon_key\": \"lipstick\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"services_count\": 1\n            }\n        ],\n        \"featured_packages\": [\n            {\n                \"id\": \"01a1bab5-7a7e-7037-8bb7-762eccbe33f2\",\n                \"name\": \"Full look package\",\n                \"description\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a1bab5-79fc-739f-8c97-97e96469acd9\",\n                    \"name\": \"Makeup\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1bab5-7a02-71cc-8b6e-e26c81a8320c\",\n                    \"name\": \"Lamar Al-Dosari\"\n                },\n                \"price\": \"640.00\",\n                \"compare_at_price\": \"760.00\",\n                \"savings_amount\": \"120.00\",\n                \"validity_days\": 60,\n                \"services\": [\n                    {\n                        \"id\": \"01a1bab5-79ff-7045-9c16-8be2da926bc9\",\n                        \"name\": \"Evening makeup\",\n                        \"sessions\": 2\n                    }\n                ]\n            }\n        ],\n        \"user\": {\n            \"name\": \"Lamar Al-Otaibi\",\n            \"wallet_balance\": \"480.50\",\n            \"address\": {\n                \"id\": \"01a1bab5-7a88-7033-97d4-e790cec46efc\",\n                \"label\": \"Home\",\n                \"label_type\": {\n                    \"value\": \"home\",\n                    \"label\": \"Home\"\n                },\n                \"city\": {\n                    \"id\": \"01a1bab5-79ee-7148-bf48-d88df4c248e4\",\n                    \"name\": \"Riyadh\"\n                },\n                \"district\": {\n                    \"id\": \"01a1bab5-79f7-7308-bc85-2c946aa4591a\",\n                    \"name\": \"Al Yasmin\"\n                },\n                \"address_line\": \"Prince Sultan Street\",\n                \"details\": null,\n                \"lat\": null,\n                \"lng\": null,\n                \"is_default\": true,\n                \"formatted\": \"Riyadh، Al Yasmin، Prince Sultan Street\"\n            },\n            \"is_service_area_available\": true\n        },\n        \"active_order\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Invalid customer token",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Invalid customer token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_001_optional_token_is_verified_when_sent"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Provider app token",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Provider app token",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_001_optional_token_is_verified_when_sent"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"1eed6a22-ac94-4385-bb3b-02576a56a3ff\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Address of another customer",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Address of another customer",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "address_id": "01a1bab5-7c9e-707b-ad58-9341aa8db7b6"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_location_errors_are_typed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?address_id=01a1bab5-7c9e-707b-ad58-9341aa8db7b6",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a1bab5-7c9e-707b-ad58-9341aa8db7b6"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Address not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"4d477823-761d-4a0b-9735-bd2f97648b32\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Guest sends an address id",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Guest sends an address id",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "address_id": "01a1bab5-7c9e-707b-ad58-9341aa8db7b6"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_location_errors_are_typed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?address_id=01a1bab5-7c9e-707b-ad58-9341aa8db7b6",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a1bab5-7c9e-707b-ad58-9341aa8db7b6"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Address not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"6774a4d2-54fe-4de8-b33b-8c546b84683c\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Chosen district is disabled",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Chosen district is disabled",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "city_id": "01a1bab5-7c7d-70e9-8087-890af7061417",
                                                        "district_id": "01a1bab5-7c8b-7329-946f-400987a5387a"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_location_errors_are_typed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?city_id=01a1bab5-7c7d-70e9-8087-890af7061417&district_id=01a1bab5-7c8b-7329-946f-400987a5387a",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a1bab5-7c7d-70e9-8087-890af7061417"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a1bab5-7c8b-7329-946f-400987a5387a"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"90e2f9e9-0e54-454e-91ad-547b00c0f512\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 City id is not a uuid",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "City id is not a uuid",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "city_id": "1"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_location_errors_are_typed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?city_id=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The city id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The city id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 City is not a service area",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "City is not a service area",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "city_id": "01a1bab5-7c8d-7334-9708-f1c0629b350e"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_location_errors_are_typed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?city_id=01a1bab5-7c8d-7334-9708-f1c0629b350e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a1bab5-7c8d-7334-9708-f1c0629b350e"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"e9f4645e-2bae-4400-ae78-9dae8f774de0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 District of another city",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "District of another city",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "city_id": "01a1bab5-7c8d-7334-9708-f1c0629b350e",
                                                        "district_id": "01a1bab5-7c87-705e-be24-d9ebbc1c08f3"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_location_errors_are_typed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?city_id=01a1bab5-7c8d-7334-9708-f1c0629b350e&district_id=01a1bab5-7c87-705e-be24-d9ebbc1c08f3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a1bab5-7c8d-7334-9708-f1c0629b350e"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a1bab5-7c87-705e-be24-d9ebbc1c08f3"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district does not belong to this city.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"The selected district does not belong to this city.\"\n            ]\n        },\n        \"correlation_id\": \"7e07ec4c-36cd-4004-82bf-cb3cdade4b3f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Saved address in a disabled area",
                                            "_joshen": {
                                                "route": "client.home.index",
                                                "name": "Saved address in a disabled area",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/home",
                                                    "query": {
                                                        "address_id": "01a1bab5-7cc8-70a9-9b1a-b2f5e177b31e"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\HomeControllerTest::test_ac_cust_005_location_errors_are_typed"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/home?address_id=01a1bab5-7cc8-70a9-9b1a-b2f5e177b31e",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "home"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a1bab5-7cc8-70a9-9b1a-b2f5e177b31e"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"bb1d15b3-c392-4d18-b82b-4cf54c78d399\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Services",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"service_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/services/:service",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "services",
                                                ":service"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "service",
                                                    "value": "{{service_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "address_id",
                                                    "value": "",
                                                    "description": "Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "",
                                                    "description": "City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "district_id",
                                                    "value": "",
                                                    "description": "District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.services.show`\n**Middleware:** `api, set_locale, cors, app.optional:customer`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `address_id` — Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string` (optional)\n- `city_id` — City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `district_id` — District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19) (optional)\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `service_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Service in a city with no eligible provider\n- `200` Service with required single and optional multiple option groups\n- `404` Option group is not a bookable service — `error_code: ENTITY_NOT_FOUND`\n- `422` District without its city\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Service retrieved.\",\n    \"data\": {\n        \"id\": \"01a17208-5166-72bc-9128-28645e8bc0ec\",\n        \"name\": \"Evening makeup\",\n        \"description\": \"Full evening look\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-5163-7065-835f-ec2597d27bfd\",\n            \"name\": \"Makeup\"\n        },\n        \"duration_min\": 120,\n        \"from_price\": null,\n        \"option_groups\": [\n            {\n                \"id\": \"01a17208-5169-72f0-9d80-3114dc5f7180\",\n                \"name\": \"False lashes\",\n                \"description\": null,\n                \"is_required\": true,\n                \"selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"choices\": [\n                    {\n                        \"id\": \"01a17208-516b-71ed-bf2c-689ff0d289d2\",\n                        \"name\": \"With lashes\",\n                        \"description\": null,\n                        \"extra_duration_min\": 15,\n                        \"is_free\": false,\n                        \"from_price\": null\n                    }\n                ]\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Service in a city with no eligible provider",
                                            "_joshen": {
                                                "route": "client.services.show",
                                                "name": "Service in a city with no eligible provider",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/services/01a17208-5166-72bc-9128-28645e8bc0ec",
                                                    "query": {
                                                        "city_id": "01a17208-515c-71e9-8bf6-c09431eb54bf"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_007_service_details_without_an_eligible_provider_have_null_from_prices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/services/01a17208-5166-72bc-9128-28645e8bc0ec?city_id=01a17208-515c-71e9-8bf6-c09431eb54bf",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "services",
                                                        "01a17208-5166-72bc-9128-28645e8bc0ec"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a17208-515c-71e9-8bf6-c09431eb54bf"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Service retrieved.\",\n    \"data\": {\n        \"id\": \"01a17208-5166-72bc-9128-28645e8bc0ec\",\n        \"name\": \"Evening makeup\",\n        \"description\": \"Full evening look\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-5163-7065-835f-ec2597d27bfd\",\n            \"name\": \"Makeup\"\n        },\n        \"duration_min\": 120,\n        \"from_price\": null,\n        \"option_groups\": [\n            {\n                \"id\": \"01a17208-5169-72f0-9d80-3114dc5f7180\",\n                \"name\": \"False lashes\",\n                \"description\": null,\n                \"is_required\": true,\n                \"selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"choices\": [\n                    {\n                        \"id\": \"01a17208-516b-71ed-bf2c-689ff0d289d2\",\n                        \"name\": \"With lashes\",\n                        \"description\": null,\n                        \"extra_duration_min\": 15,\n                        \"is_free\": false,\n                        \"from_price\": null\n                    }\n                ]\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "200 Service with required single and optional multiple option groups",
                                            "_joshen": {
                                                "route": "client.services.show",
                                                "name": "Service with required single and optional multiple option groups",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/services/01a17208-500c-72c6-8285-fdfdb97b3fef",
                                                    "query": {
                                                        "city_id": "01a17208-4ffd-7376-b1f3-a3145e1ec1e7",
                                                        "district_id": "01a17208-5004-70ef-bdc0-9361a61965a8"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_007_service_details_list_selectable_groups_and_choice_from_prices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/services/01a17208-500c-72c6-8285-fdfdb97b3fef?city_id=01a17208-4ffd-7376-b1f3-a3145e1ec1e7&district_id=01a17208-5004-70ef-bdc0-9361a61965a8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "services",
                                                        "01a17208-500c-72c6-8285-fdfdb97b3fef"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a17208-4ffd-7376-b1f3-a3145e1ec1e7"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a17208-5004-70ef-bdc0-9361a61965a8"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Service retrieved.\",\n    \"data\": {\n        \"id\": \"01a17208-500c-72c6-8285-fdfdb97b3fef\",\n        \"name\": \"Evening makeup\",\n        \"description\": \"Full evening look\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-5009-7188-8186-3a2742eee6b4\",\n            \"name\": \"Makeup\"\n        },\n        \"duration_min\": 120,\n        \"from_price\": \"300.00\",\n        \"option_groups\": [\n            {\n                \"id\": \"01a17208-5010-739a-bd2d-c28e9e266015\",\n                \"name\": \"False lashes\",\n                \"description\": null,\n                \"is_required\": true,\n                \"selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"choices\": [\n                    {\n                        \"id\": \"01a17208-5012-70d2-991e-cd703f6b95b8\",\n                        \"name\": \"With lashes\",\n                        \"description\": null,\n                        \"extra_duration_min\": 15,\n                        \"is_free\": false,\n                        \"from_price\": \"30.00\"\n                    },\n                    {\n                        \"id\": \"01a17208-5014-734a-a2dd-651639193dd7\",\n                        \"name\": \"Without lashes\",\n                        \"description\": null,\n                        \"extra_duration_min\": 0,\n                        \"is_free\": true,\n                        \"from_price\": \"0.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a17208-5019-7313-948e-a8ef43fe9344\",\n                \"name\": \"Extras\",\n                \"description\": null,\n                \"is_required\": false,\n                \"selection\": {\n                    \"value\": \"multiple\",\n                    \"label\": \"Multiple\"\n                },\n                \"choices\": [\n                    {\n                        \"id\": \"01a17208-501c-7056-809c-0845a7c31d66\",\n                        \"name\": \"Glow finish\",\n                        \"description\": null,\n                        \"extra_duration_min\": 10,\n                        \"is_free\": false,\n                        \"from_price\": \"40.00\"\n                    }\n                ]\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "404 Option group is not a bookable service",
                                            "_joshen": {
                                                "route": "client.services.show",
                                                "name": "Option group is not a bookable service",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/services/01a17208-5010-739a-bd2d-c28e9e266015",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_007_service_details_list_selectable_groups_and_choice_from_prices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/services/01a17208-5010-739a-bd2d-c28e9e266015",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "services",
                                                        "01a17208-5010-739a-bd2d-c28e9e266015"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"01fba927-ed70-4502-8dd9-c65e28c1f240\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 District without its city",
                                            "_joshen": {
                                                "route": "client.services.show",
                                                "name": "District without its city",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/services/01a17208-500c-72c6-8285-fdfdb97b3fef",
                                                    "query": {
                                                        "district_id": "01a17208-5004-70ef-bdc0-9361a61965a8"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_007_service_details_list_selectable_groups_and_choice_from_prices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/services/01a17208-500c-72c6-8285-fdfdb97b3fef?district_id=01a17208-5004-70ef-bdc0-9361a61965a8",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "services",
                                                        "01a17208-500c-72c6-8285-fdfdb97b3fef"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a17208-5004-70ef-bdc0-9361a61965a8"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The city id field is required when district id is present.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The city id field is required when district id is present.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "service_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Packages",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"package_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/packages/:package",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "packages",
                                                ":package"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "address_id",
                                                    "value": "",
                                                    "description": "Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "",
                                                    "description": "City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "district_id",
                                                    "value": "",
                                                    "description": "District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.packages.show`\n**Middleware:** `api, set_locale, cors, app.optional:customer`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `address_id` — Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string` (optional)\n- `city_id` — City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `district_id` — District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19) (optional)\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Saves `package_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Package details at a district\n- `404` Package not available at this district — `error_code: ENTITY_NOT_FOUND`\n- `422` Unknown city in the location\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Package retrieved.\",\n    \"data\": {\n        \"id\": \"01a17ce7-5216-7249-a653-6d0b5be37e87\",\n        \"name\": \"Evening package\",\n        \"description\": \"Two sessions\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17ce7-519c-7039-9ec7-ecdf91210d9d\",\n            \"name\": \"Makeup\"\n        },\n        \"provider\": {\n            \"id\": \"01a17ce7-51a4-71e2-b482-aa3bf7c3060e\",\n            \"name\": \"Nora Salon\",\n            \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"rating_avg\": null,\n            \"rating_count\": 0\n        },\n        \"price\": \"640.00\",\n        \"compare_at_price\": \"760.00\",\n        \"savings_amount\": \"120.00\",\n        \"validity_days\": 60,\n        \"services\": [\n            {\n                \"id\": \"01a17ce7-519f-70f4-8db8-b00385379966\",\n                \"name\": \"Evening makeup\",\n                \"sessions\": 2,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17ce7-521b-7350-9f11-b4c89883f8b4\",\n                \"name\": \"Bridal\"\n            }\n        ],\n        \"total_sessions\": 2,\n        \"discount_percent\": 16,\n        \"can_buy\": false\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package details at a district",
                                            "_joshen": {
                                                "route": "client.packages.show",
                                                "name": "Package details at a district",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/01a17ce7-5216-7249-a653-6d0b5be37e87",
                                                    "query": {
                                                        "city_id": "01a17ce7-518b-71e1-9b9f-68185cd7e495",
                                                        "district_id": "01a17ce7-5197-7335-8a65-53b271b74db4"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageDetailsTest::test_ac_cust_008_guest_sees_package_details_at_a_served_district"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/01a17ce7-5216-7249-a653-6d0b5be37e87?city_id=01a17ce7-518b-71e1-9b9f-68185cd7e495&district_id=01a17ce7-5197-7335-8a65-53b271b74db4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "01a17ce7-5216-7249-a653-6d0b5be37e87"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a17ce7-518b-71e1-9b9f-68185cd7e495"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a17ce7-5197-7335-8a65-53b271b74db4"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Package retrieved.\",\n    \"data\": {\n        \"id\": \"01a17ce7-5216-7249-a653-6d0b5be37e87\",\n        \"name\": \"Evening package\",\n        \"description\": \"Two sessions\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17ce7-519c-7039-9ec7-ecdf91210d9d\",\n            \"name\": \"Makeup\"\n        },\n        \"provider\": {\n            \"id\": \"01a17ce7-51a4-71e2-b482-aa3bf7c3060e\",\n            \"name\": \"Nora Salon\",\n            \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"rating_avg\": null,\n            \"rating_count\": 0\n        },\n        \"price\": \"640.00\",\n        \"compare_at_price\": \"760.00\",\n        \"savings_amount\": \"120.00\",\n        \"validity_days\": 60,\n        \"services\": [\n            {\n                \"id\": \"01a17ce7-519f-70f4-8db8-b00385379966\",\n                \"name\": \"Evening makeup\",\n                \"sessions\": 2,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17ce7-521b-7350-9f11-b4c89883f8b4\",\n                \"name\": \"Bridal\"\n            }\n        ],\n        \"total_sessions\": 2,\n        \"discount_percent\": 16,\n        \"can_buy\": false\n    }\n}"
                                        },
                                        {
                                            "name": "404 Package not available at this district",
                                            "_joshen": {
                                                "route": "client.packages.show",
                                                "name": "Package not available at this district",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/01a17ce7-529c-70b4-bd2d-f4866c7069dd",
                                                    "query": {
                                                        "city_id": "01a17ce7-5250-7223-9fec-63b60f90d8d7",
                                                        "district_id": "01a17ce7-525b-7348-a940-4b4dc6b8a549"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageDetailsTest::test_ac_cust_008_package_is_not_found_outside_coverage_or_when_not_live"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/01a17ce7-529c-70b4-bd2d-f4866c7069dd?city_id=01a17ce7-5250-7223-9fec-63b60f90d8d7&district_id=01a17ce7-525b-7348-a940-4b4dc6b8a549",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "01a17ce7-529c-70b4-bd2d-f4866c7069dd"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a17ce7-5250-7223-9fec-63b60f90d8d7"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a17ce7-525b-7348-a940-4b4dc6b8a549"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Package not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"dbe70676-e32a-49aa-b6b6-ad6d1d2e999b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown city in the location",
                                            "_joshen": {
                                                "route": "client.packages.show",
                                                "name": "Unknown city in the location",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/packages/01a17ce7-529c-70b4-bd2d-f4866c7069dd",
                                                    "query": {
                                                        "city_id": "not-a-uuid"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\PackageDetailsTest::test_ac_cust_008_package_is_not_found_outside_coverage_or_when_not_live"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/packages/01a17ce7-529c-70b4-bd2d-f4866c7069dd?city_id=not-a-uuid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "packages",
                                                        "01a17ce7-529c-70b4-bd2d-f4866c7069dd"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "city_id",
                                                            "value": "not-a-uuid"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The city id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The city id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "package_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Joshan",
                            "item": [
                                {
                                    "name": "Config",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/joshan/config",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "joshan",
                                                "config"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.joshan.config`\n**Middleware:** `api, set_locale, cors, app.optional:customer`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Public Joshen configuration while disabled\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"إعدادات الباحث جوشن\",\n    \"data\": {\n        \"enabled\": false,\n        \"name\": \"جوشن\",\n        \"description\": \"الباحث الموجّه\",\n        \"input_fields\": {\n            \"service_type\": true,\n            \"occasion\": true,\n            \"address\": true,\n            \"date\": true,\n            \"time\": true,\n            \"budget\": true\n        },\n        \"package_enabled\": true,\n        \"budget_brackets\": [\n            {\n                \"key\": \"up_to_300\",\n                \"ar\": \"حتى ٣٠٠\",\n                \"min\": \"0.00\",\n                \"max\": \"300.00\"\n            },\n            {\n                \"key\": \"300_to_600\",\n                \"ar\": \"٣٠٠–٦٠٠\",\n                \"min\": \"300.00\",\n                \"max\": \"600.00\"\n            },\n            {\n                \"key\": \"600_to_1200\",\n                \"ar\": \"٦٠٠–١٬٢٠٠\",\n                \"min\": \"600.00\",\n                \"max\": \"1200.00\"\n            },\n            {\n                \"key\": \"no_limit\",\n                \"ar\": \"بدون حد\",\n                \"min\": \"1200.00\",\n                \"max\": null\n            }\n        ],\n        \"service_types\": [\n            {\n                \"value\": \"package\",\n                \"label\": \"باقة\"\n            }\n        ],\n        \"occasions\": []\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Public Joshen configuration while disabled",
                                            "_joshen": {
                                                "route": "client.joshan.config",
                                                "name": "Public Joshen configuration while disabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/config",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_config_is_public_and_disabled_search_returns_typed_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/config",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "config"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"إعدادات الباحث جوشن\",\n    \"data\": {\n        \"enabled\": false,\n        \"name\": \"جوشن\",\n        \"description\": \"الباحث الموجّه\",\n        \"input_fields\": {\n            \"service_type\": true,\n            \"occasion\": true,\n            \"address\": true,\n            \"date\": true,\n            \"time\": true,\n            \"budget\": true\n        },\n        \"package_enabled\": true,\n        \"budget_brackets\": [\n            {\n                \"key\": \"up_to_300\",\n                \"ar\": \"حتى ٣٠٠\",\n                \"min\": \"0.00\",\n                \"max\": \"300.00\"\n            },\n            {\n                \"key\": \"300_to_600\",\n                \"ar\": \"٣٠٠–٦٠٠\",\n                \"min\": \"300.00\",\n                \"max\": \"600.00\"\n            },\n            {\n                \"key\": \"600_to_1200\",\n                \"ar\": \"٦٠٠–١٬٢٠٠\",\n                \"min\": \"600.00\",\n                \"max\": \"1200.00\"\n            },\n            {\n                \"key\": \"no_limit\",\n                \"ar\": \"بدون حد\",\n                \"min\": \"1200.00\",\n                \"max\": null\n            }\n        ],\n        \"service_types\": [\n            {\n                \"value\": \"package\",\n                \"label\": \"باقة\"\n            }\n        ],\n        \"occasions\": []\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Search",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"],[\"occasion_id\",\"Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/joshan/search",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "joshan",
                                                "search"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.joshan.search`\n**Middleware:** `api, set_locale, cors, app.optional:customer, throttle:joshan-search`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `finder_search_id`\n- **Description:** UUID returned by page 1; continue that same search without creating another finder_searches row.\n- **Type:** `string (uuid)`\n- **Refers to:** a `finder_searches` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited|string|max:64|uuid|exists:finder_searches,uuid`\n- `prohibited` — must not be sent.\n- `string` — must be text.\n- `max:64` — must not exceed 64.\n- `uuid` — must be a uuid.\n- `exists:finder_searches,uuid` — must reference an existing record (finder_searches, uuid).\n### `page`\n- **Description:** Result page. First requests use page 1; continuation requests require finder_search_id.\n- **Type:** `integer`\n- **Allowed values:** `1`\n- **Required:** optional\n- **Example:** `1`\n- **Validation rules:** `sometimes|integer|min:1|in:1`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `min:1` — must be at least 1.\n- `in:1` — must be one of: 1.\n### `per_page`\n- **Description:** Number of results per page from 1 to 100; defaults to 15.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `15`\n- **Validation rules:** `sometimes|integer|between:1,100`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:1,100` — must be between 1, 100.\n### `service_type`\n- **Description:** An active category UUID, or the literal `package` when the package entry is enabled.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `package`\n- **Validation rules:** `sometimes|nullable|string|max:64`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:64` — must not exceed 64.\n### `occasion_id`\n- **Description:** UUID of an active occasion that tagged services or packages suit.\n- **Type:** `string (uuid)`\n- **Refers to:** a `occasions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{occasion_id}}`\n- **Validation rules:** `sometimes|nullable|uuid|exists:occasions,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:occasions,uuid` — must reference an existing record (occasions, uuid).\n### `address_id`\n- **Description:** UUID of the signed-in customer’s saved service address; guests use city_id and optional district_id.\n- **Type:** `string (uuid)`\n- **Refers to:** a `customer_addresses` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `sometimes|nullable|uuid|exists:customer_addresses,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:customer_addresses,uuid` — must reference an existing record (customer_addresses, uuid).\n### `city_id`\n- **Description:** UUID of the selected active city (governorates); required for district selection or guest location.\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** conditional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `sometimes|nullable|required_with:district_id|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `required_with:district_id` — required when district_id is present.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `district_id`\n- **Description:** UUID of an active district (regions) within city_id.\n- **Type:** `string (uuid)`\n- **Refers to:** a `regions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{region_id}}`\n- **Validation rules:** `sometimes|nullable|uuid|exists:regions,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n- `exists:regions,uuid` — must reference an existing record (regions, uuid).\n### `date`\n- **Description:** Requested service date in Saudi local calendar; paired with an optional time for scheduled availability.\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2026-11-02`\n- **Validation rules:** `sometimes|nullable|date_format:Y-m-d`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date_format:Y-m-d` — must match the date format Y-m-d.\n### `time`\n- **Description:** Optional requested Saudi local time. Requires date; a date without time checks for any available slot that day.\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `14:30`\n- **Validation rules:** `sometimes|nullable|date_format:H:i`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date_format:H:i` — must match the date format H:i.\n### `budget_bracket`\n- **Description:** Stable key from the configured budget_brackets list; services use eligible base price and packages use package price.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `300_to_600`\n- **Validation rules:** `sometimes|nullable|string|max:100`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n- Uses `{{occasion_id}}` — Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n\n**Responses:**\n- `200` Eligible provider without a date uses eligibility only\n- `200` Guest continues page two without a second search log\n- `200` Guest search with no matching offers\n- `200` Inactive service is excluded from finder results\n- `200` Provider outside selected district coverage is excluded\n- `200` Scheduled search excludes a provider with no available slot\n- `200` Search within the configured per-device limit\n- `200` Unapproved provider is excluded from finder results\n- `422` Disabled date input is rejected — `error_code: JOSHEN_INPUT_DISABLED`\n- `422` Guest search without device identity — `error_code: VALIDATION_FAILED`\n- `422` Search while Joshen is disabled — `error_code: JOSHEN_DISABLED`\n- `422` Time without date is rejected\n- `429` Search rate limit exceeded — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder results\",\n    \"data\": {\n        \"search_id\": \"01a1788b-0de4-7245-b212-db30ece4155d\",\n        \"results_count\": 1,\n        \"results\": [\n            {\n                \"type\": {\n                    \"value\": \"service\",\n                    \"label\": \"joshan.labels.service\"\n                },\n                \"id\": \"01a1788b-0c4f-70ed-9295-f82e14c97e19\",\n                \"name\": \"Evening makeup\",\n                \"description\": \"Full evening look\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a1788b-0c44-73d6-87c2-262652be9f6a\",\n                    \"name\": \"Makeup\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1788b-0c8c-72e3-994a-4dc10bfccdaa\",\n                    \"name\": \"Marlen Farrell\"\n                },\n                \"price\": \"350.00\",\n                \"duration_min\": 0\n            }\n        ],\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"page\": 1,\n    \"per_page\": 15,\n    \"service_type\": \"package\",\n    \"occasion_id\": \"{{occasion_id}}\",\n    \"address_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_id\": \"{{region_id}}\",\n    \"date\": \"2026-11-02\",\n    \"time\": \"14:30\",\n    \"budget_bracket\": \"300_to_600\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Eligible provider without a date uses eligibility only",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Eligible provider without a date uses eligibility only",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-0c44-73d6-87c2-262652be9f6a",
                                                        "city_id": "01a1788b-0c1a-703b-a456-61dec09f3292",
                                                        "district_id": "01a1788b-0c31-7284-a242-4e1d0820565b"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderEligibilityTest::test_ac_cust_009_no_date_means_eligibility_only_and_scheduled_date_uses_the_slot_engine"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-0c44-73d6-87c2-262652be9f6a\",\n    \"city_id\": \"01a1788b-0c1a-703b-a456-61dec09f3292\",\n    \"district_id\": \"01a1788b-0c31-7284-a242-4e1d0820565b\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Joshen finder results\",\n    \"data\": {\n        \"search_id\": \"01a1788b-0de4-7245-b212-db30ece4155d\",\n        \"results_count\": 1,\n        \"results\": [\n            {\n                \"type\": {\n                    \"value\": \"service\",\n                    \"label\": \"joshan.labels.service\"\n                },\n                \"id\": \"01a1788b-0c4f-70ed-9295-f82e14c97e19\",\n                \"name\": \"Evening makeup\",\n                \"description\": \"Full evening look\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a1788b-0c44-73d6-87c2-262652be9f6a\",\n                    \"name\": \"Makeup\"\n                },\n                \"provider\": {\n                    \"id\": \"01a1788b-0c8c-72e3-994a-4dc10bfccdaa\",\n                    \"name\": \"Marlen Farrell\"\n                },\n                \"price\": \"350.00\",\n                \"duration_min\": 0\n            }\n        ],\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Guest continues page two without a second search log",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Guest continues page two without a second search log",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "finder_search_id": "01a1788b-07e7-716e-b37d-49a558c6a803",
                                                        "page": 2
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_guest_search_logs_once_and_page_two_reuses_the_search"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"finder_search_id\": \"01a1788b-07e7-716e-b37d-49a558c6a803\",\n    \"page\": 2\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"لم نعثر على خدمات مطابقة. يمكنك تعديل خيارات البحث.\",\n    \"data\": {\n        \"search_id\": \"01a1788b-07e7-716e-b37d-49a558c6a803\",\n        \"results_count\": 0,\n        \"results\": [],\n        \"pagination\": {\n            \"page\": 2,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Guest search with no matching offers",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Guest search with no matching offers",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-076f-73d4-8fa2-bd880ebc4832",
                                                        "city_id": "01a1788b-0779-718f-a1c9-def884f22759",
                                                        "district_id": "01a1788b-0788-73f5-b116-81bcef44e26a",
                                                        "page": 1
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_guest_search_logs_once_and_page_two_reuses_the_search"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-076f-73d4-8fa2-bd880ebc4832\",\n    \"city_id\": \"01a1788b-0779-718f-a1c9-def884f22759\",\n    \"district_id\": \"01a1788b-0788-73f5-b116-81bcef44e26a\",\n    \"page\": 1\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"لم نعثر على خدمات مطابقة. يمكنك تعديل خيارات البحث.\",\n    \"data\": {\n        \"search_id\": \"01a1788b-07e7-716e-b37d-49a558c6a803\",\n        \"results_count\": 0,\n        \"results\": [],\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Inactive service is excluded from finder results",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Inactive service is excluded from finder results",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-1050-736b-b0e6-97bbd0cdca5c",
                                                        "city_id": "01a1788b-0ea3-7069-9a88-7876170c8326",
                                                        "district_id": "01a1788b-0ebd-71a7-ab72-bb424cbe4497"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderEligibilityTest::test_ac_cust_009_unapproved_provider_inactive_service_and_uncovered_district_do_not_match"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-1050-736b-b0e6-97bbd0cdca5c\",\n    \"city_id\": \"01a1788b-0ea3-7069-9a88-7876170c8326\",\n    \"district_id\": \"01a1788b-0ebd-71a7-ab72-bb424cbe4497\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"No matching services were found. You can change your search inputs.\",\n    \"data\": {\n        \"search_id\": \"01a1788b-10ce-7351-b97e-48890e24b75e\",\n        \"results_count\": 0,\n        \"results\": [],\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider outside selected district coverage is excluded",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Provider outside selected district coverage is excluded",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-0ec8-727d-bcd6-fdf1bae78375",
                                                        "city_id": "01a1788b-0ea3-7069-9a88-7876170c8326",
                                                        "district_id": "01a1788b-0ec4-73a4-994d-be8cc7973df0"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderEligibilityTest::test_ac_cust_009_unapproved_provider_inactive_service_and_uncovered_district_do_not_match"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-0ec8-727d-bcd6-fdf1bae78375\",\n    \"city_id\": \"01a1788b-0ea3-7069-9a88-7876170c8326\",\n    \"district_id\": \"01a1788b-0ec4-73a4-994d-be8cc7973df0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"No matching services were found. You can change your search inputs.\",\n    \"data\": {\n        \"search_id\": \"01a1788b-10e2-71e8-bae8-76bad9bbeeab\",\n        \"results_count\": 0,\n        \"results\": [],\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Scheduled search excludes a provider with no available slot",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Scheduled search excludes a provider with no available slot",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-0c44-73d6-87c2-262652be9f6a",
                                                        "city_id": "01a1788b-0c1a-703b-a456-61dec09f3292",
                                                        "district_id": "01a1788b-0c31-7284-a242-4e1d0820565b",
                                                        "date": "2030-01-01",
                                                        "time": "10:00"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderEligibilityTest::test_ac_cust_009_no_date_means_eligibility_only_and_scheduled_date_uses_the_slot_engine"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-0c44-73d6-87c2-262652be9f6a\",\n    \"city_id\": \"01a1788b-0c1a-703b-a456-61dec09f3292\",\n    \"district_id\": \"01a1788b-0c31-7284-a242-4e1d0820565b\",\n    \"date\": \"2030-01-01\",\n    \"time\": \"10:00\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"No matching services were found. You can change your search inputs.\",\n    \"data\": {\n        \"search_id\": \"01a1788b-0e31-71bb-9251-431bc0ead41e\",\n        \"results_count\": 0,\n        \"results\": [],\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Search within the configured per-device limit",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Search within the configured per-device limit",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-0aa5-71f7-93ec-a339d0c9f670",
                                                        "city_id": "01a1788b-0ab9-70a8-89c2-6d6d64d19021",
                                                        "district_id": "01a1788b-0ae0-71cf-967d-92e68a012bc9"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_guest_device_is_required_and_search_has_a_429_limit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-0aa5-71f7-93ec-a339d0c9f670\",\n    \"city_id\": \"01a1788b-0ab9-70a8-89c2-6d6d64d19021\",\n    \"district_id\": \"01a1788b-0ae0-71cf-967d-92e68a012bc9\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"لم نعثر على خدمات مطابقة. يمكنك تعديل خيارات البحث.\",\n    \"data\": {\n        \"search_id\": \"01a1788b-0b40-7132-9f78-cdaf1b0844b5\",\n        \"results_count\": 0,\n        \"results\": [],\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Unapproved provider is excluded from finder results",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Unapproved provider is excluded from finder results",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-1013-70f6-84a3-d0a7769e4d8e",
                                                        "city_id": "01a1788b-0ea3-7069-9a88-7876170c8326",
                                                        "district_id": "01a1788b-0ebd-71a7-ab72-bb424cbe4497"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderEligibilityTest::test_ac_cust_009_unapproved_provider_inactive_service_and_uncovered_district_do_not_match"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-1013-70f6-84a3-d0a7769e4d8e\",\n    \"city_id\": \"01a1788b-0ea3-7069-9a88-7876170c8326\",\n    \"district_id\": \"01a1788b-0ebd-71a7-ab72-bb424cbe4497\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"No matching services were found. You can change your search inputs.\",\n    \"data\": {\n        \"search_id\": \"01a1788b-10bb-7178-b2d3-bee0b4fb648e\",\n        \"results_count\": 0,\n        \"results\": [],\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 15,\n            \"last_page\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Disabled date input is rejected",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Disabled date input is rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1788b-08c8-73bc-bd1a-fb23af840d2f",
                                                        "district_id": "01a1788b-08da-71c3-ba94-308e21a03073",
                                                        "date": "2026-11-02"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_disabled_input_and_time_without_date_are_rejected"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1788b-08c8-73bc-bd1a-fb23af840d2f\",\n    \"district_id\": \"01a1788b-08da-71c3-ba94-308e21a03073\",\n    \"date\": \"2026-11-02\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"خيار البحث هذا غير متاح حالياً.\",\n    \"data\": {\n        \"error_code\": \"JOSHEN_INPUT_DISABLED\",\n        \"correlation_id\": \"8dd419dd-8f45-41c3-89f4-beafb38d40f7\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Guest search without device identity",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Guest search without device identity",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-0aa5-71f7-93ec-a339d0c9f670",
                                                        "city_id": "01a1788b-0ab9-70a8-89c2-6d6d64d19021",
                                                        "district_id": "01a1788b-0ae0-71cf-967d-92e68a012bc9"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_guest_device_is_required_and_search_has_a_429_limit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-0aa5-71f7-93ec-a339d0c9f670\",\n    \"city_id\": \"01a1788b-0ab9-70a8-89c2-6d6d64d19021\",\n    \"district_id\": \"01a1788b-0ae0-71cf-967d-92e68a012bc9\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"يلزم إرسال X-Guest-Device-ID لعمليات بحث الضيوف.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"b85dbe89-0ec7-4188-9422-b06050d0e8dc\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Search while Joshen is disabled",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Search while Joshen is disabled",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1788b-09da-7150-8f7e-7bf2b13d168e",
                                                        "district_id": "01a1788b-0a2b-7076-98aa-f7f8c4583ca1"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_config_is_public_and_disabled_search_returns_typed_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1788b-09da-7150-8f7e-7bf2b13d168e\",\n    \"district_id\": \"01a1788b-0a2b-7076-98aa-f7f8c4583ca1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الباحث جوشن غير متاح حالياً.\",\n    \"data\": {\n        \"error_code\": \"JOSHEN_DISABLED\",\n        \"correlation_id\": \"d158e95d-3b40-41d1-9b89-ad33cb6c8576\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Time without date is rejected",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Time without date is rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-0908-7183-802e-f3210a6949d4",
                                                        "city_id": "01a1788b-08c8-73bc-bd1a-fb23af840d2f",
                                                        "district_id": "01a1788b-08da-71c3-ba94-308e21a03073",
                                                        "time": "14:30"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_disabled_input_and_time_without_date_are_rejected"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-0908-7183-802e-f3210a6949d4\",\n    \"city_id\": \"01a1788b-08c8-73bc-bd1a-fb23af840d2f\",\n    \"district_id\": \"01a1788b-08da-71c3-ba94-308e21a03073\",\n    \"time\": \"14:30\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن اختيار الوقت دون تحديد التاريخ.\",\n    \"data\": {\n        \"errors\": {\n            \"date\": [\n                \"لا يمكن اختيار الوقت دون تحديد التاريخ.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Search rate limit exceeded",
                                            "_joshen": {
                                                "route": "client.joshan.search",
                                                "name": "Search rate limit exceeded",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/client/joshan/search",
                                                    "query": null,
                                                    "body": {
                                                        "service_type": "01a1788b-0aa5-71f7-93ec-a339d0c9f670",
                                                        "city_id": "01a1788b-0ab9-70a8-89c2-6d6d64d19021",
                                                        "district_id": "01a1788b-0ae0-71cf-967d-92e68a012bc9"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\JoshenFinderTest::test_ac_cust_009_guest_device_is_required_and_search_has_a_429_limit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/joshan/search",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "joshan",
                                                        "search"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_type\": \"01a1788b-0aa5-71f7-93ec-a339d0c9f670\",\n    \"city_id\": \"01a1788b-0ab9-70a8-89c2-6d6d64d19021\",\n    \"district_id\": \"01a1788b-0ae0-71cf-967d-92e68a012bc9\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"طلبات كثيرة. يرجى المحاولة لاحقاً.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            },
                                            {
                                                "name": "occasion_id",
                                                "set_by": [
                                                    "admin.joshan.occasions.index",
                                                    "admin.joshan.occasions.store",
                                                    "admin.joshan.occasions.show",
                                                    "admin.joshan.occasions.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Search",
                    "item": [
                        {
                            "name": "Search",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"client_token\",\"Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{client_token}}",
                                                "disabled": true,
                                                "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/client/search",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "address_id",
                                                    "value": "",
                                                    "description": "Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "",
                                                    "description": "City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "district_id",
                                                    "value": "",
                                                    "description": "District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "q",
                                                    "value": "makeup",
                                                    "description": "Text to find in service names (Arabic or English), package names or provider names. Empty lists everything of the type. — `string`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "",
                                                    "description": "Category (main service) chip: limits services and packages to that category, and providers to those offering a service in it. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "services",
                                                    "description": "Result tab: services (default), packages or providers. Only offerings with an eligible provider at the location are returned (BR-08); featured providers rank first (BR-09). — `string (enum)`, one of: `services`, `packages`, `providers`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page, 1 to 100 (default 15). — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `client.search.index`\n**Middleware:** `api, set_locale, cors, app.optional:customer`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `address_id` — Signed-in customer only: one of her saved service addresses to filter by (CUST-004). Without it her default address is used. A guest, a foreign or an unknown address gets 404; an address in a disabled area gets 422 SERVICE_AREA_UNAVAILABLE (TD-69/78). — `string` (optional)\n- `city_id` — City (governorates) to browse, for guests or a customer looking at another city. Used when address_id is not sent; must be an enabled service area (BR-08, TD-78). — `string (uuid)`, a `governorates` record — send its uuid `id` (TD-19) (optional)\n- `district_id` — District (regions) of city_id, optional. Must belong to that city and be enabled (BR-08, TD-78). — `string (uuid)`, a `regions` record — send its uuid `id` (TD-19) (optional)\n- `q` — Text to find in service names (Arabic or English), package names or provider names. Empty lists everything of the type. — `string` (optional)\n- `category_id` — Category (main service) chip: limits services and packages to that category, and providers to those offering a service in it. — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19) (optional)\n- `type` — Result tab: services (default), packages or providers. Only offerings with an eligible provider at the location are returned (BR-08); featured providers rank first (BR-09). — `string (enum)`, one of: `services`, `packages`, `providers` (optional)\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Items per page, 1 to 100 (default 15). — `integer` (optional)\n\n**Variables:**\n- Uses `{{client_token}}` — Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh.\n\n**Responses:**\n- `200` Eligible providers with featured first\n- `200` Packages available at a district\n- `200` Services matching text at a district\n- `200` Signed-in search at her default address\n- `404` Address that is not hers — `error_code: ENTITY_NOT_FOUND`\n- `422` Unknown result type\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Search results retrieved.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a17208-52da-735c-b86a-ca43a44fbe76\",\n                \"name\": \"Lamar Studio\",\n                \"professional_title\": null,\n                \"provider_type\": {\n                    \"value\": \"individual\",\n                    \"label\": \"Individual\"\n                },\n                \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_orders_count\": 0\n            },\n            {\n                \"id\": \"01a17208-528c-727d-a494-7a7d3e72f5ff\",\n                \"name\": \"Nora Salon\",\n                \"professional_title\": null,\n                \"provider_type\": {\n                    \"value\": \"individual\",\n                    \"label\": \"Individual\"\n                },\n                \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_orders_count\": 0\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/search?type=providers&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n            \"last\": \"http://localhost/api/v1/client/search?type=providers&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/search?type=providers&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/search\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Eligible providers with featured first",
                                            "_joshen": {
                                                "route": "client.search.index",
                                                "name": "Eligible providers with featured first",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/search",
                                                    "query": {
                                                        "type": "providers",
                                                        "city_id": "01a17208-5277-70d4-81ae-08dcacefd0b2",
                                                        "district_id": "01a17208-527e-70aa-ad61-f85d94c3917b"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_008_search_respects_eligibility_and_featured_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/search?type=providers&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "search"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "type",
                                                            "value": "providers"
                                                        },
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a17208-5277-70d4-81ae-08dcacefd0b2"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a17208-527e-70aa-ad61-f85d94c3917b"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Search results retrieved.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a17208-52da-735c-b86a-ca43a44fbe76\",\n                \"name\": \"Lamar Studio\",\n                \"professional_title\": null,\n                \"provider_type\": {\n                    \"value\": \"individual\",\n                    \"label\": \"Individual\"\n                },\n                \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_orders_count\": 0\n            },\n            {\n                \"id\": \"01a17208-528c-727d-a494-7a7d3e72f5ff\",\n                \"name\": \"Nora Salon\",\n                \"professional_title\": null,\n                \"provider_type\": {\n                    \"value\": \"individual\",\n                    \"label\": \"Individual\"\n                },\n                \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n                \"rating_avg\": null,\n                \"rating_count\": 0,\n                \"completed_orders_count\": 0\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/search?type=providers&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n            \"last\": \"http://localhost/api/v1/client/search?type=providers&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/search?type=providers&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/search\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Packages available at a district",
                                            "_joshen": {
                                                "route": "client.search.index",
                                                "name": "Packages available at a district",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/search",
                                                    "query": {
                                                        "type": "packages",
                                                        "q": "evening",
                                                        "city_id": "01a17208-5277-70d4-81ae-08dcacefd0b2",
                                                        "district_id": "01a17208-527e-70aa-ad61-f85d94c3917b"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_008_search_respects_eligibility_and_featured_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/search?type=packages&q=evening&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "search"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "type",
                                                            "value": "packages"
                                                        },
                                                        {
                                                            "key": "q",
                                                            "value": "evening"
                                                        },
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a17208-5277-70d4-81ae-08dcacefd0b2"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a17208-527e-70aa-ad61-f85d94c3917b"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Search results retrieved.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a17208-533f-73af-b08e-4c01f24e0877\",\n                \"name\": \"Evening package\",\n                \"description\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-5282-73dc-b71e-2bfa215205bd\",\n                    \"name\": \"Makeup\"\n                },\n                \"provider\": {\n                    \"id\": \"01a17208-52da-735c-b86a-ca43a44fbe76\",\n                    \"name\": \"Lamar Studio\"\n                },\n                \"price\": \"640.00\",\n                \"compare_at_price\": \"760.00\",\n                \"savings_amount\": \"120.00\",\n                \"validity_days\": 60,\n                \"services\": [\n                    {\n                        \"id\": \"01a17208-5284-7349-953c-b84e97aadde5\",\n                        \"name\": \"Evening makeup\",\n                        \"sessions\": 2\n                    }\n                ]\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/search?type=packages&q=evening&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n            \"last\": \"http://localhost/api/v1/client/search?type=packages&q=evening&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/search?type=packages&q=evening&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/search\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Services matching text at a district",
                                            "_joshen": {
                                                "route": "client.search.index",
                                                "name": "Services matching text at a district",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/search",
                                                    "query": {
                                                        "q": "evening",
                                                        "city_id": "01a17208-5277-70d4-81ae-08dcacefd0b2",
                                                        "district_id": "01a17208-527e-70aa-ad61-f85d94c3917b"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_008_search_respects_eligibility_and_featured_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/search?q=evening&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "search"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "q",
                                                            "value": "evening"
                                                        },
                                                        {
                                                            "key": "city_id",
                                                            "value": "01a17208-5277-70d4-81ae-08dcacefd0b2"
                                                        },
                                                        {
                                                            "key": "district_id",
                                                            "value": "01a17208-527e-70aa-ad61-f85d94c3917b"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Search results retrieved.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a17208-5284-7349-953c-b84e97aadde5\",\n                \"name\": \"Evening makeup\",\n                \"description\": \"Full evening look\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-5282-73dc-b71e-2bfa215205bd\",\n                    \"name\": \"Makeup\"\n                },\n                \"duration_min\": 120,\n                \"from_price\": \"350.00\"\n            },\n            {\n                \"id\": \"01a17208-528a-7000-9dc0-9bf77fbf43c8\",\n                \"name\": \"Evening blow-dry\",\n                \"description\": null,\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-5288-72b1-b440-fbde809e9b48\",\n                    \"name\": \"Hair\"\n                },\n                \"duration_min\": 60,\n                \"from_price\": \"150.00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/search?q=evening&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n            \"last\": \"http://localhost/api/v1/client/search?q=evening&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/search?q=evening&city_id=01a17208-5277-70d4-81ae-08dcacefd0b2&district_id=01a17208-527e-70aa-ad61-f85d94c3917b&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/search\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Signed-in search at her default address",
                                            "_joshen": {
                                                "route": "client.search.index",
                                                "name": "Signed-in search at her default address",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/search",
                                                    "query": {
                                                        "q": "evening"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_008_signed_in_search_uses_default_address_and_refuses_foreign_address"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/search?q=evening",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "search"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "q",
                                                            "value": "evening"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Search results retrieved.\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a17208-51d7-73f1-a545-708a00f5a26f\",\n                \"name\": \"Evening makeup\",\n                \"description\": \"Full evening look\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-51d4-7349-913f-faa427ad391f\",\n                    \"name\": \"Makeup\"\n                },\n                \"duration_min\": 120,\n                \"from_price\": \"350.00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/client/search?q=evening&page=1\",\n            \"last\": \"http://localhost/api/v1/client/search?q=evening&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/client/search?q=evening&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/client/search\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "404 Address that is not hers",
                                            "_joshen": {
                                                "route": "client.search.index",
                                                "name": "Address that is not hers",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/search",
                                                    "query": {
                                                        "q": "evening",
                                                        "address_id": "01a17208-525c-73be-96be-18a7684b763f"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_008_signed_in_search_uses_default_address_and_refuses_foreign_address"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/search?q=evening&address_id=01a17208-525c-73be-96be-18a7684b763f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "search"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "q",
                                                            "value": "evening"
                                                        },
                                                        {
                                                            "key": "address_id",
                                                            "value": "01a17208-525c-73be-96be-18a7684b763f"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Address not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"0a5c193c-5fe5-4a21-ab42-c64c47ecf5f1\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown result type",
                                            "_joshen": {
                                                "route": "client.search.index",
                                                "name": "Unknown result type",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/client/search",
                                                    "query": {
                                                        "type": "offers"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\CatalogControllerTest::test_ac_cust_008_search_respects_eligibility_and_featured_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{client_token}}",
                                                        "disabled": true,
                                                        "description": "Optional. Without it the request is a guest; with it, an invalid token is 401 and another app's token is 403."
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/client/search?type=offers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "client",
                                                        "search"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "type",
                                                            "value": "offers"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected type is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"type\": [\n                \"The selected type is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "client_token",
                                                "set_by": [
                                                    "client.auth.verify",
                                                    "client.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/verify, POST /api/v1/client/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "Provider",
            "item": [
                {
                    "name": "Content",
                    "item": [
                        {
                            "name": "Pages",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/pages/:slug",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "pages",
                                                ":slug"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "slug",
                                                    "value": "terms",
                                                    "description": "Static page key, not a uuid: `terms`, `privacy`, `female_declaration`, `cancellation_policy` or `about` (TD-175)."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.pages.show`\n**Middleware:** `api, set_locale, cors`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Responses:**\n- `200` English text\n- `200` Falls back to the shared page\n- `200` Page of the app audience\n- `404` Unknown slug — `error_code: ENTITY_NOT_FOUND`\n- `404` Valid slug without a page — `error_code: ENTITY_NOT_FOUND`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Page retrieved.\",\n    \"data\": {\n        \"id\": \"01a1bab1-57fb-72a3-9cab-411b465c68d1\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms and conditions\"\n        },\n        \"title\": \"Title provider\",\n        \"content\": \"Body provider\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:47+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 English text",
                                            "_joshen": {
                                                "route": "provider.pages.show",
                                                "name": "English text",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/pages/terms",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_follows_the_locale_and_falls_back_to_arabic"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/pages/terms",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "pages",
                                                        "terms"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Page retrieved.\",\n    \"data\": {\n        \"id\": \"01a1bab1-57fb-72a3-9cab-411b465c68d1\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms and conditions\"\n        },\n        \"title\": \"Title provider\",\n        \"content\": \"Body provider\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:47+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Falls back to the shared page",
                                            "_joshen": {
                                                "route": "provider.pages.show",
                                                "name": "Falls back to the shared page",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/pages/privacy",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_falls_back_to_all_when_no_app_page_exists"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/pages/privacy",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "pages",
                                                        "privacy"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الصفحة.\",\n    \"data\": {\n        \"id\": \"01a1bab1-5798-711b-9ac6-bb29d325238f\",\n        \"slug\": {\n            \"value\": \"privacy\",\n            \"label\": \"سياسة الخصوصية\"\n        },\n        \"title\": \"عنوان all\",\n        \"content\": \"نص all\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:46+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Page of the app audience",
                                            "_joshen": {
                                                "route": "provider.pages.show",
                                                "name": "Page of the app audience",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/pages/terms",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_of_the_apps_audience_wins_over_all"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/pages/terms",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "pages",
                                                        "terms"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الصفحة.\",\n    \"data\": {\n        \"id\": \"01a1bab1-5736-7129-b20c-a99e85fd7ce6\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"الشروط والأحكام\"\n        },\n        \"title\": \"عنوان provider\",\n        \"content\": \"نص provider\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:46+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown slug",
                                            "_joshen": {
                                                "route": "provider.pages.show",
                                                "name": "Unknown slug",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/pages/not-a-page",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_unknown_slug_and_missing_page_are_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/pages/not-a-page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "pages",
                                                        "not-a-page"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الصفحة غير موجودة.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"d22c7e23-33fb-4d3a-bc63-9816dcea223c\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Valid slug without a page",
                                            "_joshen": {
                                                "route": "provider.pages.show",
                                                "name": "Valid slug without a page",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/pages/about",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_unknown_slug_and_missing_page_are_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/pages/about",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "pages",
                                                        "about"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الصفحة غير موجودة.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"3333cf1a-b480-424e-9652-ef44575fec88\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": []
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Faqs",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"faq_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/faqs",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "faqs"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.faqs.index`\n**Middleware:** `api, set_locale, cors`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Saves `faq_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` FAQs of the app audience\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الأسئلة الشائعة.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab1-58d0-719c-951f-bca13b1fdcf6\",\n            \"question\": \"س١\",\n            \"answer\": \"ج١\",\n            \"sort_order\": 1\n        },\n        {\n            \"id\": \"01a1bab1-58ce-73b8-ab18-03f282ec6dfc\",\n            \"question\": \"س٢\",\n            \"answer\": \"ج٢\",\n            \"sort_order\": 2\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 FAQs of the app audience",
                                            "_joshen": {
                                                "route": "provider.faqs.index",
                                                "name": "FAQs of the app audience",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/faqs",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_faqs_list_active_items_of_the_audience_in_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/faqs",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "faqs"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الأسئلة الشائعة.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab1-58d0-719c-951f-bca13b1fdcf6\",\n            \"question\": \"س١\",\n            \"answer\": \"ج١\",\n            \"sort_order\": 1\n        },\n        {\n            \"id\": \"01a1bab1-58ce-73b8-ab18-03f282ec6dfc\",\n            \"question\": \"س٢\",\n            \"answer\": \"ج٢\",\n            \"sort_order\": 2\n        }\n    ]\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "faq_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": []
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Categories",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"category_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/categories?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "categories"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.categories.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `category_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Active registration categories\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17208-d854-71e8-818e-e531caa4da67\",\n            \"name\": \"مكياج\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Active registration categories",
                                            "_joshen": {
                                                "route": "provider.categories.index",
                                                "name": "Active registration categories",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_003_lists_active_categories_only"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17208-d854-71e8-818e-e531caa4da67\",\n            \"name\": \"مكياج\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "category_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"provider_category_id\",\"data.id\"],[\"category_id\",\"data.category_id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.my-categories.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `category_id`\n- **Description:** Active catalog category UUID to request; admin review is required (PROV-009/TD-70).\n- **Type:** `string (uuid)`\n- **Refers to:** a `categories` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{category_id}}`\n- **Validation rules:** `required|uuid|exists:categories,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:categories,uuid` — must reference an existing record (categories, uuid).\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Saves `provider_category_id` ← `data.id` of a 2xx response\n- Saves `category_id` ← `data.category_id` of a 2xx response\n\n**Responses:**\n- `201` Extra category requested for admin review\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot price or manage services — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Duplicate category preserves existing review state — `error_code: ENTITY_ALREADY_EXISTS`\n- `422` Cannot request an inactive category — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid shape or integer reference\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-da08-719d-a286-7b82fec78094\",\n        \"category_id\": \"01a17221-d9fb-71cd-89b2-3998167b83f1\",\n        \"name\": \"Sample-exxq37054973\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"status\": {\n            \"value\": \"requested\",\n            \"label\": \"Requested\"\n        },\n        \"is_enabled\": true,\n        \"can_toggle\": false\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"category_id\": \"{{category_id}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Extra category requested for admin review",
                                            "_joshen": {
                                                "route": "provider.my-categories.store",
                                                "name": "Extra category requested for admin review",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": "01a17221-d9fb-71cd-89b2-3998167b83f1"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_extra_category_request_and_owned_category_toggle"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"01a17221-d9fb-71cd-89b2-3998167b83f1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-da08-719d-a286-7b82fec78094\",\n        \"category_id\": \"01a17221-d9fb-71cd-89b2-3998167b83f1\",\n        \"name\": \"Sample-exxq37054973\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"status\": {\n            \"value\": \"requested\",\n            \"label\": \"Requested\"\n        },\n        \"is_enabled\": true,\n        \"can_toggle\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"{{category_id}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot price or manage services",
                                            "_joshen": {
                                                "route": "provider.my-categories.store",
                                                "name": "Pending provider cannot price or manage services",
                                                "code": 403,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": "01a17221-dc8c-7050-aef1-e24d6e624ae2"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_pricing_requires_provider_app_and_approved_account"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"01a17221-dc8c-7050-aef1-e24d6e624ae2\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"54f2aa36-c71d-4362-961a-886efcbcf0ea\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"{{category_id}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Duplicate category preserves existing review state",
                                            "_joshen": {
                                                "route": "provider.my-categories.store",
                                                "name": "Duplicate category preserves existing review state",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": "01a17221-d9fb-71cd-89b2-3998167b83f1"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_extra_category_request_and_owned_category_toggle"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"01a17221-d9fb-71cd-89b2-3998167b83f1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This category is already linked to your account.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_ALREADY_EXISTS\",\n        \"correlation_id\": \"0a1e805b-f6ae-47ba-94dd-8f1fb77200f9\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot request an inactive category",
                                            "_joshen": {
                                                "route": "provider.my-categories.store",
                                                "name": "Cannot request an inactive category",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": "01a17221-da69-72fa-9b92-59d00857aa9f"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_extra_category_request_and_owned_category_toggle"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"01a17221-da69-72fa-9b92-59d00857aa9f\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This category is inactive.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"f9544c12-8089-4fa0-9f11-ec4aeaccc00f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid shape or integer reference",
                                            "_joshen": {
                                                "route": "provider.my-categories.store",
                                                "name": "Invalid shape or integer reference",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": 25
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_uuid_shape_precision_and_missing_records"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": 25\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The category id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"category_id\": [\n                \"The category id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "provider_category_id",
                                                "path": "data.id"
                                            },
                                            {
                                                "name": "category_id",
                                                "path": "data.category_id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Toggle Status",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_category_id\",\"Saved by GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/categories/:provider_category_id/toggle",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "categories",
                                                ":provider_category_id",
                                                "toggle"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "provider_category_id",
                                                    "value": "{{provider_category_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.my-categories.toggle`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `is_enabled`\n- **Description:** Explicit desired visibility; enabling a service requires complete prices (BR-06).\n- **Type:** `boolean`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|boolean`\n- `required` — must be provided.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{provider_category_id}}` — Saved by GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Disable owned approved category\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot price or manage services — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Foreign or missing category assignment\n- `422` Invalid shape or integer reference\n- `422` Requested category cannot be enabled before review — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d9ec-72d1-a135-e7aa18d4bbbb\",\n        \"category_id\": \"01a17221-d9e8-721e-ba16-adc17abba445\",\n        \"name\": \"Sample-xiqf75410814\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_enabled\": false,\n        \"can_toggle\": true\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"is_enabled\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Disable owned approved category",
                                            "_joshen": {
                                                "route": "provider.my-categories.toggle",
                                                "name": "Disable owned approved category",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories/01a17221-d9ec-72d1-a135-e7aa18d4bbbb/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_enabled": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_extra_category_request_and_owned_category_toggle"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories/01a17221-d9ec-72d1-a135-e7aa18d4bbbb/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories",
                                                        "01a17221-d9ec-72d1-a135-e7aa18d4bbbb",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_enabled\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d9ec-72d1-a135-e7aa18d4bbbb\",\n        \"category_id\": \"01a17221-d9e8-721e-ba16-adc17abba445\",\n        \"name\": \"Sample-xiqf75410814\",\n        \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n        \"is_active\": true,\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"is_enabled\": false,\n        \"can_toggle\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories/:provider_category_id/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories",
                                                        ":provider_category_id",
                                                        "toggle"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "provider_category_id",
                                                            "value": "{{provider_category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_enabled\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot price or manage services",
                                            "_joshen": {
                                                "route": "provider.my-categories.toggle",
                                                "name": "Pending provider cannot price or manage services",
                                                "code": 403,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories/01a17221-dc90-7025-ba14-d1f4300f45f3/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_enabled": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_pricing_requires_provider_app_and_approved_account"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories/01a17221-dc90-7025-ba14-d1f4300f45f3/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories",
                                                        "01a17221-dc90-7025-ba14-d1f4300f45f3",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_enabled\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"f69bc453-dff1-46a2-a5c6-7415a6647936\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories/:provider_category_id/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories",
                                                        ":provider_category_id",
                                                        "toggle"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "provider_category_id",
                                                            "value": "{{provider_category_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_enabled\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Foreign or missing category assignment",
                                            "_joshen": {
                                                "route": "provider.my-categories.toggle",
                                                "name": "Foreign or missing category assignment",
                                                "code": 404,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories/757c3567-c531-40dc-a937-3c11f5851300/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_enabled": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_extra_category_request_and_owned_category_toggle"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories/757c3567-c531-40dc-a937-3c11f5851300/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories",
                                                        "757c3567-c531-40dc-a937-3c11f5851300",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_enabled\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Invalid shape or integer reference",
                                            "_joshen": {
                                                "route": "provider.my-categories.toggle",
                                                "name": "Invalid shape or integer reference",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories/60a4dc2d-0b5d-4a5c-ab81-39c530b566ef/toggle",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_uuid_shape_precision_and_missing_records"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories/60a4dc2d-0b5d-4a5c-ab81-39c530b566ef/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories",
                                                        "60a4dc2d-0b5d-4a5c-ab81-39c530b566ef",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The is enabled field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"is_enabled\": [\n                \"The is enabled field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Requested category cannot be enabled before review",
                                            "_joshen": {
                                                "route": "provider.my-categories.toggle",
                                                "name": "Requested category cannot be enabled before review",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/categories/01a17221-da08-719d-a286-7b82fec78094/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_enabled": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_extra_category_request_and_owned_category_toggle"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/categories/01a17221-da08-719d-a286-7b82fec78094/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "categories",
                                                        "01a17221-da08-719d-a286-7b82fec78094",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_enabled\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Only an approved category assignment can be toggled.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"5f34d5a5-bf27-4dd0-a214-04f487111de6\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_category_id",
                                                "set_by": [
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Account",
                    "item": [
                        {
                            "name": "Auth",
                            "item": [
                                {
                                    "name": "Register",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/auth/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "auth",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.auth.register`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** Phone code _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** required\n- **Example:** `+966`\n- **Validation rules:** `required|string|in:+966`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** Phone _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `512345678`\n- **Validation rules:** `required|string|regex:/^5[0-9]{8}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password_confirmation`\n- **Description:** Password confirmation _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `full_name`\n- **Description:** Full name _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Test Account`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `guarantees_female_gender`\n- **Description:** Guarantees female gender _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n### `accept_policies`\n- **Description:** Accept policies _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n### `accept_terms`\n- **Description:** Accept terms _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n### `provider_type`\n- **Description:** Provider type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `individual`, `establishment`\n- **Required:** required\n- **Example:** `individual`\n- **Validation rules:** `required|in:individual,establishment`\n- `required` — must be provided.\n- `in:individual,establishment` — must be one of: individual, establishment.\n### `display_name`\n- **Description:** Display name _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Test Provider`\n- **Validation rules:** `required|string|max:150`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n\n**Variables:**\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Register\n- `429` Too many codes sent to this phone — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-d1fc-7178-ae2a-9057f5ef695a\",\n        \"expires_at\": \"2026-10-25T07:59:03+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:50:03+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"full_name\": \"Test Account\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\",\n    \"guarantees_female_gender\": true,\n    \"accept_policies\": true,\n    \"accept_terms\": true,\n    \"provider_type\": \"individual\",\n    \"display_name\": \"Test Provider\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Register",
                                            "_joshen": {
                                                "route": "provider.auth.register",
                                                "name": "Register",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/register",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678",
                                                        "full_name": "Test Account",
                                                        "accept_terms": true,
                                                        "accept_policies": true,
                                                        "guarantees_female_gender": true,
                                                        "provider_type": "individual",
                                                        "display_name": "Test Provider"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\",\n    \"full_name\": \"Test Account\",\n    \"accept_terms\": true,\n    \"accept_policies\": true,\n    \"guarantees_female_gender\": true,\n    \"provider_type\": \"individual\",\n    \"display_name\": \"Test Provider\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-d1fc-7178-ae2a-9057f5ef695a\",\n        \"expires_at\": \"2026-10-25T07:59:03+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:50:03+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Test Account\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\",\n    \"guarantees_female_gender\": true,\n    \"accept_policies\": true,\n    \"accept_terms\": true,\n    \"provider_type\": \"individual\",\n    \"display_name\": \"Test Provider\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Too many codes sent to this phone",
                                            "_joshen": {
                                                "route": "provider.auth.register",
                                                "name": "Too many codes sent to this phone",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/register",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678",
                                                        "full_name": "Test Account",
                                                        "accept_terms": true,
                                                        "accept_policies": true,
                                                        "guarantees_female_gender": true,
                                                        "provider_type": "individual",
                                                        "display_name": "Test Provider"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_otp_send_returns_429_when_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\",\n    \"full_name\": \"Test Account\",\n    \"accept_terms\": true,\n    \"accept_policies\": true,\n    \"guarantees_female_gender\": true,\n    \"provider_type\": \"individual\",\n    \"display_name\": \"Test Provider\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": []
                                    }
                                },
                                {
                                    "name": "Login",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/auth/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "auth",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.auth.login`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** Phone code _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** required\n- **Example:** `+966`\n- **Validation rules:** `required|string|in:+966`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** Phone _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `500000003`\n- **Validation rules:** `required|string|regex:/^5[0-9]{8}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password_confirmation`\n- **Description:** Password confirmation _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Login\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-d282-7303-89b8-b2e49dcf1a03\",\n        \"expires_at\": \"2026-10-25T07:59:03+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:50:03+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"500000003\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Login",
                                            "_joshen": {
                                                "route": "provider.auth.login",
                                                "name": "Login",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/login",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_login_sends_otp_and_issues_same_app_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-d282-7303-89b8-b2e49dcf1a03\",\n        \"expires_at\": \"2026-10-25T07:59:03+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:50:03+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"500000003\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": []
                                    }
                                },
                                {
                                    "name": "Verify",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"],[\"otp_code\",\"The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table).\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"provider_token\",\"data.access_token\"],[\"token\",\"data.access_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/auth/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "auth",
                                                "verify"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.auth.verify`\n**Middleware:** `api, set_locale, cors, throttle:otp-verify`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Verification token _(no description yet)_\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n### `code`\n- **Description:** Code _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `{{otp_code}}`\n- **Validation rules:** `required|string|regex:/^[0-9]{4}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^[0-9]{4}$/D` — must match the pattern shown.\n### `device_token`\n- **Description:** Device token _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `fcm-device-token-sample`\n- **Validation rules:** `nullable|string|max:4096`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n### `device_type`\n- **Description:** Device type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `ios`, `android`, `huawei`\n- **Required:** conditional\n- **Example:** `ios`\n- **Validation rules:** `required_with:device_token|nullable|in:ios,android,huawei`\n- `required_with:device_token` — required when device_token is present.\n- `nullable` — may be null.\n- `in:ios,android,huawei` — must be one of: ios, android, huawei.\n### `app_version`\n- **Description:** App version _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1.0.0`\n- **Validation rules:** `nullable|string|max:20`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n- Uses `{{otp_code}}` — The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table).\n- Saves `provider_token` ← `data.access_token` of a 2xx response\n- Saves `token` ← `data.access_token` of a 2xx response\n\n**Responses:**\n- `200` Verify\n- `429` Code locked after five wrong attempts — `error_code: OTP_TOO_MANY_ATTEMPTS`\n- `429` Too many verify requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Phone verified successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-d207-70d5-bc89-d295bd2f7995\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-d209-70d4-b834-d5f1b02a8666\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Test Provider\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": null,\n            \"instant_enabled\": null,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"{{otp_code}}\",\n    \"device_token\": \"fcm-device-token-sample\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Verify",
                                            "_joshen": {
                                                "route": "provider.auth.verify",
                                                "name": "Verify",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-d1fc-7178-ae2a-9057f5ef695a",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-d1fc-7178-ae2a-9057f5ef695a\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Phone verified successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-d207-70d5-bc89-d295bd2f7995\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-d209-70d4-b834-d5f1b02a8666\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Test Provider\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": null,\n            \"instant_enabled\": null,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"{{otp_code}}\",\n    \"device_token\": \"fcm-device-token-sample\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Code locked after five wrong attempts",
                                            "_joshen": {
                                                "route": "provider.auth.verify",
                                                "name": "Code locked after five wrong attempts",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-d2a5-705c-9fd8-81f9bd6d9195",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_otp_returns_invalid_then_429_on_sixth_attempt"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-d2a5-705c-9fd8-81f9bd6d9195\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many incorrect codes. Request a new code.\",\n    \"data\": {\n        \"error_code\": \"OTP_TOO_MANY_ATTEMPTS\",\n        \"correlation_id\": \"a7cd8329-571d-4b83-8e69-7ba2eb8cd2a8\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many verify requests",
                                            "_joshen": {
                                                "route": "provider.auth.verify",
                                                "name": "Too many verify requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-d501-7317-9d16-90f0408e0fbe",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_verify_request_limiter_returns_429"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-d501-7317-9d16-90f0408e0fbe\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "provider_token",
                                                "path": "data.access_token"
                                            },
                                            {
                                                "name": "token",
                                                "path": "data.access_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            },
                                            {
                                                "name": "otp_code",
                                                "set_by": [],
                                                "how": "The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table)."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Resend",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/auth/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "auth",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.auth.resend`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Verification token _(no description yet)_\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n\n**Variables:**\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Resend Code\n- `429` Resend before the cooldown ends — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-d30a-7133-bd6a-f156a608c2b5\",\n        \"expires_at\": \"2026-10-25T08:00:04+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:51:04+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Resend Code",
                                            "_joshen": {
                                                "route": "provider.auth.resend",
                                                "name": "Resend Code",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-d30a-7133-bd6a-f156a608c2b5"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_resend_returns_429_until_cooldown_then_same_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-d30a-7133-bd6a-f156a608c2b5\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a17208-d30a-7133-bd6a-f156a608c2b5\",\n        \"expires_at\": \"2026-10-25T08:00:04+00:00\",\n        \"resend_available_at\": \"2026-10-25T07:51:04+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Resend before the cooldown ends",
                                            "_joshen": {
                                                "route": "provider.auth.resend",
                                                "name": "Resend before the cooldown ends",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17208-d30a-7133-bd6a-f156a608c2b5"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_resend_returns_429_until_cooldown_then_same_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17208-d30a-7133-bd6a-f156a608c2b5\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Please wait before requesting another code.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\",\n        \"correlation_id\": \"0f96a801-3f88-4ff0-8156-e8511e23a957\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Refresh",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"provider_token\",\"data.access_token\"],[\"token\",\"data.access_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/auth/refresh",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "auth",
                                                "refresh"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.auth.refresh`\n**Middleware:** `api, set_locale, cors, jwt.refreshable:provider, app:provider, active`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `provider_token` ← `data.access_token` of a 2xx response\n- Saves `token` ← `data.access_token` of a 2xx response\n\n**Responses:**\n- `200` Refresh\n- `200` Refresh After Expiry\n- `401` Refresh without a token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-d38a-7084-b64c-a25465d29c11\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-d38b-733f-9866-edfd2207264b\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Test Provider\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Refresh",
                                            "_joshen": {
                                                "route": "provider.auth.refresh",
                                                "name": "Refresh",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_refresh_keeps_app_logout_revokes_token_and_device_app"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-d38a-7084-b64c-a25465d29c11\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-d38b-733f-9866-edfd2207264b\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Test Provider\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Refresh After Expiry",
                                            "_joshen": {
                                                "route": "provider.auth.refresh",
                                                "name": "Refresh After Expiry",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_td_29_access_ttl_and_refresh_window"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a17208-d52e-712a-95bb-0926a799bf8c\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-d530-7189-8da4-b2ed48a320a0\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Test Provider\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Refresh without a token",
                                            "_joshen": {
                                                "route": "provider.auth.refresh",
                                                "name": "Refresh without a token",
                                                "code": 401,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_td_29_refresh_without_valid_token_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "provider_token",
                                                "path": "data.access_token"
                                            },
                                            {
                                                "name": "token",
                                                "path": "data.access_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Logout",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/auth/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "auth",
                                                "logout"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.auth.logout`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `device_token`\n- **Description:** FCM push token of this device, so the backend stops sending pushes to it after logout; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `fcm-device-token-sample`\n- **Validation rules:** `nullable|string|max:4096`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Logout\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Logout",
                                            "_joshen": {
                                                "route": "provider.auth.logout",
                                                "name": "Logout",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/logout",
                                                    "query": null,
                                                    "body": {
                                                        "device_token": "test-push-token"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_refresh_keeps_app_logout_revokes_token_and_device_app"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"test-push-token\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Me",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/auth/me",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "auth",
                                                "me"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.auth.me`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Me\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a17208-d207-70d5-bc89-d295bd2f7995\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-d209-70d4-b834-d5f1b02a8666\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Test Provider\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Me",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Me",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a17208-d207-70d5-bc89-d295bd2f7995\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a17208-d209-70d4-b834-d5f1b02a8666\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Test Provider\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Profile",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Reload persisted direct profile fields before approval\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-f039-71df-b3c3-0d365c399da8\",\n        \"photo\": \"http://localhost/storage/portfolio/0adf10cc-6127-445f-be53-d90343787a53.png\",\n        \"bio\": \"My previous work\",\n        \"professional_title\": \"Skin care specialist\",\n        \"default_transport_mode\": {\n            \"value\": \"self\",\n            \"label\": \"Travel myself\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Reload persisted direct profile fields before approval",
                                            "_joshen": {
                                                "route": "provider.profile.show",
                                                "name": "Reload persisted direct profile fields before approval",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_pending_provider_can_directly_update_scoped_profile_fields"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-f039-71df-b3c3-0d365c399da8\",\n        \"photo\": \"http://localhost/storage/portfolio/0adf10cc-6127-445f-be53-d90343787a53.png\",\n        \"bio\": \"My previous work\",\n        \"professional_title\": \"Skin care specialist\",\n        \"default_transport_mode\": {\n            \"value\": \"self\",\n            \"label\": \"Travel myself\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `photo`\n- **Description:** Fresh owned media hash for users.image (existing 2 MiB collection); null removes, omit preserves.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `sometimes|nullable|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `bio`\n- **Description:** Public biography; nullable TEXT, at most 65535 UTF-8 bytes; direct edit (PROV-008).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Beauty specialist`\n- **Validation rules:** `sometimes|nullable|string|max:65535|custom:Closure`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:65535` — must not exceed 65535.\n- `custom:Closure` — checked by the Closure rule.\n### `professional_title`\n- **Description:** Public professional title; nullable, max150 (TD-72).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Skin care specialist`\n- **Validation rules:** `sometimes|nullable|string|max:150`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `default_transport_mode`\n- **Description:** Default booking transport preference; direct edit (schema design addition).\n- **Type:** `string (enum)`\n- **Allowed values:** `ask`, `joshen_driver`, `self`\n- **Required:** optional\n- **Example:** `ask`\n- **Validation rules:** `sometimes|in:\"ask\",\"joshen_driver\",\"self\"`\n- `sometimes` — validated only when the field is present.\n- `in:\"ask\",\"joshen_driver\",\"self\"` — must be one of: \"ask\", \"joshen_driver\", \"self\".\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `200` Pending provider saves direct profile photo bio title and transport\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid owned fresh image attached — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image foreign — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image missing — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image pdf — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image size — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image svg — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image temp — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image type — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid scoped profile or portfolio shape\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-f039-71df-b3c3-0d365c399da8\",\n        \"photo\": \"http://localhost/storage/portfolio/0adf10cc-6127-445f-be53-d90343787a53.png\",\n        \"bio\": \"My previous work\",\n        \"professional_title\": \"Skin care specialist\",\n        \"default_transport_mode\": {\n            \"value\": \"self\",\n            \"label\": \"Travel myself\"\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"photo\": \"{{media_hash}}\",\n    \"bio\": \"Beauty specialist\",\n    \"professional_title\": \"Skin care specialist\",\n    \"default_transport_mode\": \"ask\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Pending provider saves direct profile photo bio title and transport",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Pending provider saves direct profile photo bio title and transport",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "photo": "0adf10cc-6127-445f-be53-d90343787a53",
                                                        "bio": "My previous work",
                                                        "professional_title": "Skin care specialist",
                                                        "default_transport_mode": "self",
                                                        "display_name": "Unapproved name",
                                                        "city_id": "invalid",
                                                        "national_id": "123",
                                                        "account_status": "approved"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_pending_provider_can_directly_update_scoped_profile_fields"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"0adf10cc-6127-445f-be53-d90343787a53\",\n    \"bio\": \"My previous work\",\n    \"professional_title\": \"Skin care specialist\",\n    \"default_transport_mode\": \"self\",\n    \"display_name\": \"Unapproved name\",\n    \"city_id\": \"invalid\",\n    \"national_id\": \"123\",\n    \"account_status\": \"approved\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-f039-71df-b3c3-0d365c399da8\",\n        \"photo\": \"http://localhost/storage/portfolio/0adf10cc-6127-445f-be53-d90343787a53.png\",\n        \"bio\": \"My previous work\",\n        \"professional_title\": \"Skin care specialist\",\n        \"default_transport_mode\": {\n            \"value\": \"self\",\n            \"label\": \"Travel myself\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"{{media_hash}}\",\n    \"bio\": \"Beauty specialist\",\n    \"professional_title\": \"Skin care specialist\",\n    \"default_transport_mode\": \"ask\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"{{media_hash}}\",\n    \"bio\": \"Beauty specialist\",\n    \"professional_title\": \"Skin care specialist\",\n    \"default_transport_mode\": \"ask\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image attached",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid owned fresh image attached",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "bio": "Mutated",
                                                        "photo": "ee745bc7-573e-4359-ba27-ca93e3a69745"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bio\": \"Mutated\",\n    \"photo\": \"ee745bc7-573e-4359-ba27-ca93e3a69745\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"bc6c8351-d81d-4815-b737-be94ea95dffa\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image foreign",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid owned fresh image foreign",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "bio": "Mutated",
                                                        "photo": "c1622f8e-9bb1-49bf-908a-5756c430d7dd"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bio\": \"Mutated\",\n    \"photo\": \"c1622f8e-9bb1-49bf-908a-5756c430d7dd\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"4f7795e2-5f92-4a2e-aef1-36e76cad49cb\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image missing",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid owned fresh image missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "bio": "Mutated",
                                                        "photo": "cf373609-2c43-40f8-a16c-6d498818e267"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bio\": \"Mutated\",\n    \"photo\": \"cf373609-2c43-40f8-a16c-6d498818e267\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"1c9be0fe-1423-4d2d-8b5e-65b4c6c19da4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image pdf",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid owned fresh image pdf",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "bio": "Mutated",
                                                        "photo": "69d7a7b6-dade-485d-abbf-ac01fa06ae0c"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bio\": \"Mutated\",\n    \"photo\": \"69d7a7b6-dade-485d-abbf-ac01fa06ae0c\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"eb85d898-84cf-4be3-bd78-3c7b1bd3f271\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image size",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid owned fresh image size",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "bio": "Mutated",
                                                        "photo": "3ca70054-7147-4790-b709-8798fd01aa37"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bio\": \"Mutated\",\n    \"photo\": \"3ca70054-7147-4790-b709-8798fd01aa37\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"74d004f4-c2d1-409c-8432-d8c8211f6ea5\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image svg",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid owned fresh image svg",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "bio": "Mutated",
                                                        "photo": "62da589c-989f-4622-8875-f24bc08e4a87"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bio\": \"Mutated\",\n    \"photo\": \"62da589c-989f-4622-8875-f24bc08e4a87\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"85326cfd-5fb9-41b5-a802-c42a89ffd745\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image temp",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid owned fresh image temp",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "bio": "Mutated",
                                                        "photo": "9c0a601e-1c86-45c3-b17c-43bbda04c63d"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bio\": \"Mutated\",\n    \"photo\": \"9c0a601e-1c86-45c3-b17c-43bbda04c63d\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"c20f27a7-1a16-4e89-872c-2d6f1db4f6c5\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image type",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid owned fresh image type",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "bio": "Mutated",
                                                        "photo": "fc6486e4-c254-4cf5-b408-0b53e546b251"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"bio\": \"Mutated\",\n    \"photo\": \"fc6486e4-c254-4cf5-b408-0b53e546b251\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"d198eb2d-d60f-4d12-9af0-44f7caac20f3\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid scoped profile or portfolio shape",
                                            "_joshen": {
                                                "route": "provider.profile.update",
                                                "name": "Invalid scoped profile or portfolio shape",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile",
                                                    "query": null,
                                                    "body": {
                                                        "default_transport_mode": "invalid",
                                                        "professional_title": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_shape_errors_and_duplicate_hashes_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"default_transport_mode\": \"invalid\",\n    \"professional_title\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The professional title field must not be greater than 150 characters. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"professional_title\": [\n                \"The professional title field must not be greater than 150 characters.\"\n            ],\n            \"default_transport_mode\": [\n                \"The selected default transport mode is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"portfolio_hash\",\"data.portfolio.*.hash\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "portfolio"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.portfolio.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `portfolio_hash` ← `data.portfolio.*.hash` of a 2xx response\n\n**Responses:**\n- `200` Empty portfolio before approval\n- `200` Lowered limit retains existing portfolio\n- `200` Ordered portfolio and effective photo limit\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Empty portfolio before approval",
                                            "_joshen": {
                                                "route": "provider.portfolio.index",
                                                "name": "Empty portfolio before approval",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_profile_routes_require_provider_token_and_never_other_profiles"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Lowered limit retains existing portfolio",
                                            "_joshen": {
                                                "route": "provider.portfolio.index",
                                                "name": "Lowered limit retains existing portfolio",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_limit_boundary_lowered_limit_delete_and_reorder"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [\n            {\n                \"hash\": \"332dd1db-f899-49e2-a1c8-13419cb1dd71\",\n                \"url\": \"http://localhost/storage/portfolio/332dd1db-f899-49e2-a1c8-13419cb1dd71.png\",\n                \"sort_order\": 1\n            },\n            {\n                \"hash\": \"f2056f19-2fde-4f97-be4a-14b15082b217\",\n                \"url\": \"http://localhost/storage/portfolio/f2056f19-2fde-4f97-be4a-14b15082b217.png\",\n                \"sort_order\": 2\n            },\n            {\n                \"hash\": \"20f5fd22-9396-464c-804a-95ff3595b27d\",\n                \"url\": \"http://localhost/storage/portfolio/20f5fd22-9396-464c-804a-95ff3595b27d.png\",\n                \"sort_order\": 3\n            },\n            {\n                \"hash\": \"708027ec-f5fe-4648-84c7-557682e965db\",\n                \"url\": \"http://localhost/storage/portfolio/708027ec-f5fe-4648-84c7-557682e965db.png\",\n                \"sort_order\": 4\n            },\n            {\n                \"hash\": \"a4777318-542e-487d-ae8b-5c4fbee4e443\",\n                \"url\": \"http://localhost/storage/portfolio/a4777318-542e-487d-ae8b-5c4fbee4e443.png\",\n                \"sort_order\": 5\n            },\n            {\n                \"hash\": \"ebb83edb-0522-4f5b-8041-2d3144036119\",\n                \"url\": \"http://localhost/storage/portfolio/ebb83edb-0522-4f5b-8041-2d3144036119.png\",\n                \"sort_order\": 6\n            },\n            {\n                \"hash\": \"85336876-ac93-4312-9728-fd69ae6df4cf\",\n                \"url\": \"http://localhost/storage/portfolio/85336876-ac93-4312-9728-fd69ae6df4cf.png\",\n                \"sort_order\": 7\n            },\n            {\n                \"hash\": \"51de77dc-83db-44d4-a29d-aaf89d078b50\",\n                \"url\": \"http://localhost/storage/portfolio/51de77dc-83db-44d4-a29d-aaf89d078b50.png\",\n                \"sort_order\": 8\n            },\n            {\n                \"hash\": \"4725a87c-9841-4f1e-b832-2ec9f05155d2\",\n                \"url\": \"http://localhost/storage/portfolio/4725a87c-9841-4f1e-b832-2ec9f05155d2.png\",\n                \"sort_order\": 9\n            },\n            {\n                \"hash\": \"f5ae5cac-cfb3-46df-9733-94c728a5ce65\",\n                \"url\": \"http://localhost/storage/portfolio/f5ae5cac-cfb3-46df-9733-94c728a5ce65.png\",\n                \"sort_order\": 10\n            },\n            {\n                \"hash\": \"85e1cc4c-7985-4e90-a7e8-88ad7aba9786\",\n                \"url\": \"http://localhost/storage/portfolio/85e1cc4c-7985-4e90-a7e8-88ad7aba9786.png\",\n                \"sort_order\": 11\n            },\n            {\n                \"hash\": \"22dd2831-685d-4f7c-8bc4-3ad21c372404\",\n                \"url\": \"http://localhost/storage/portfolio/22dd2831-685d-4f7c-8bc4-3ad21c372404.png\",\n                \"sort_order\": 12\n            }\n        ],\n        \"portfolio_max_photos\": 2,\n        \"can_add_photo\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Ordered portfolio and effective photo limit",
                                            "_joshen": {
                                                "route": "provider.portfolio.index",
                                                "name": "Ordered portfolio and effective photo limit",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_portfolio_append_order_delete_and_onboarding_completion"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [\n            {\n                \"hash\": \"4391a3a31ca10baed28b7479d8697300\",\n                \"url\": \"http://localhost/storage/uploads/portfolio/7abc2ed7-18b3-44b6-9c51-889e9c4723b4.webp\",\n                \"sort_order\": 1\n            },\n            {\n                \"hash\": \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\",\n                \"url\": \"http://localhost/storage/portfolio/49e2f3e1-3d1b-41d1-a6a3-164afed208e0.png\",\n                \"sort_order\": 2\n            }\n        ],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "portfolio_hash",
                                                "path": "data.portfolio.*.hash"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"portfolio_hash\",\"data.portfolio.*.hash\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "portfolio"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.portfolio.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `photos`\n- **Description:** Fresh owned photo hashes to append, constrained by provider_portfolio_max_photos (TD-73).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `required|array|list|min:1`\n- `required` — must be provided.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `min:1` — must be at least 1.\n### `photos.*`\n- **Description:** Media hash from shared uploader, jpg/jpeg/png/webp up to 5 MiB.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `portfolio_hash` ← `data.portfolio.*.hash` of a 2xx response\n\n**Responses:**\n- `201` Append two previous work photos before approval\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid owned fresh image attached — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image foreign — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image missing — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image pdf — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image size — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image svg — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image temp — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid owned fresh image type — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid scoped profile or portfolio shape\n- `422` Lowered operating limit blocks new photos — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Portfolio default limit reached — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [\n            {\n                \"hash\": \"4391a3a31ca10baed28b7479d8697300\",\n                \"url\": \"http://localhost/storage/uploads/portfolio/7abc2ed7-18b3-44b6-9c51-889e9c4723b4.webp\",\n                \"sort_order\": 1\n            },\n            {\n                \"hash\": \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\",\n                \"url\": \"http://localhost/storage/portfolio/49e2f3e1-3d1b-41d1-a6a3-164afed208e0.png\",\n                \"sort_order\": 2\n            }\n        ],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"photos\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Append two previous work photos before approval",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Append two previous work photos before approval",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "4391a3a31ca10baed28b7479d8697300",
                                                            "49e2f3e1-3d1b-41d1-a6a3-164afed208e0"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_portfolio_append_order_delete_and_onboarding_completion"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"4391a3a31ca10baed28b7479d8697300\",\n        \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [\n            {\n                \"hash\": \"4391a3a31ca10baed28b7479d8697300\",\n                \"url\": \"http://localhost/storage/uploads/portfolio/7abc2ed7-18b3-44b6-9c51-889e9c4723b4.webp\",\n                \"sort_order\": 1\n            },\n            {\n                \"hash\": \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\",\n                \"url\": \"http://localhost/storage/portfolio/49e2f3e1-3d1b-41d1-a6a3-164afed208e0.png\",\n                \"sort_order\": 2\n            }\n        ],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image attached",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid owned fresh image attached",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "ee745bc7-573e-4359-ba27-ca93e3a69745"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"ee745bc7-573e-4359-ba27-ca93e3a69745\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"c13085fb-0c11-47ca-9ca6-87dc67fbb4bb\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image foreign",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid owned fresh image foreign",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "c1622f8e-9bb1-49bf-908a-5756c430d7dd"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"c1622f8e-9bb1-49bf-908a-5756c430d7dd\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"931c646f-6102-46b8-a29f-d4bafff785f2\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image missing",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid owned fresh image missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "cf373609-2c43-40f8-a16c-6d498818e267"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"cf373609-2c43-40f8-a16c-6d498818e267\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"16e6d1d9-ffee-4a35-8cee-91737a82aa47\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image pdf",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid owned fresh image pdf",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "69d7a7b6-dade-485d-abbf-ac01fa06ae0c"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"69d7a7b6-dade-485d-abbf-ac01fa06ae0c\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"9391a7c5-12ec-4ec9-a662-eb1d045efcfc\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image size",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid owned fresh image size",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "3ca70054-7147-4790-b709-8798fd01aa37"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"3ca70054-7147-4790-b709-8798fd01aa37\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"1fdf3912-7b5b-46d6-af66-e75a583d8bdd\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image svg",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid owned fresh image svg",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "62da589c-989f-4622-8875-f24bc08e4a87"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"62da589c-989f-4622-8875-f24bc08e4a87\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"1aefd244-b331-4f23-a6e1-52805c714e5c\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image temp",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid owned fresh image temp",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "9c0a601e-1c86-45c3-b17c-43bbda04c63d"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"9c0a601e-1c86-45c3-b17c-43bbda04c63d\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"8afa32b9-e4a4-4cfc-8125-d140ed59a57f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid owned fresh image type",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid owned fresh image type",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "fc6486e4-c254-4cf5-b408-0b53e546b251"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_invalid_uploads_return_422_without_changing_profile"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"fc6486e4-c254-4cf5-b408-0b53e546b251\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"175f2f69-b3ee-4dab-90a3-3f4b7174433e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid scoped profile or portfolio shape",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Invalid scoped profile or portfolio shape",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "d65a481a-39fb-43f8-a37f-b5855e5241ea",
                                                            "d65a481a-39fb-43f8-a37f-b5855e5241ea"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_shape_errors_and_duplicate_hashes_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"d65a481a-39fb-43f8-a37f-b5855e5241ea\",\n        \"d65a481a-39fb-43f8-a37f-b5855e5241ea\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The photos.0 field has a duplicate value. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"photos.0\": [\n                \"The photos.0 field has a duplicate value.\"\n            ],\n            \"photos.1\": [\n                \"The photos.1 field has a duplicate value.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Lowered operating limit blocks new photos",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Lowered operating limit blocks new photos",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "48726f8d-35bf-44ff-b33c-f428e2f61a55"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_limit_boundary_lowered_limit_delete_and_reorder"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"48726f8d-35bf-44ff-b33c-f428e2f61a55\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your portfolio may contain at most 2 photos. Remove photos before adding more.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Your portfolio may contain at most 2 photos. Remove photos before adding more.\"\n            ]\n        },\n        \"correlation_id\": \"eac285b9-589b-4b5b-8887-bcdab78299a0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Portfolio default limit reached",
                                            "_joshen": {
                                                "route": "provider.portfolio.store",
                                                "name": "Portfolio default limit reached",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            "48726f8d-35bf-44ff-b33c-f428e2f61a55"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_limit_boundary_lowered_limit_delete_and_reorder"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        \"48726f8d-35bf-44ff-b33c-f428e2f61a55\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your portfolio may contain at most 12 photos. Remove photos before adding more.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Your portfolio may contain at most 12 photos. Remove photos before adding more.\"\n            ]\n        },\n        \"correlation_id\": \"ccb4d8a0-8638-4666-97ee-513ebf215bb5\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "portfolio_hash",
                                                "path": "data.portfolio.*.hash"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reorder",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"portfolio_hash\",\"Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"portfolio_hash\",\"data.portfolio.*.hash\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/portfolio/reorder",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "portfolio",
                                                "reorder"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.portfolio.reorder`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `photos`\n- **Description:** Exact permutation of every current owned portfolio photo, including when over the lowered limit.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[{\"hash\":\"{{portfolio_hash}}\",\"sort_order\":0}]`\n- **Validation rules:** `present|array|list`\n- `present` — must be present (may be empty).\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `photos.*`\n- **Description:** Owned hash and its unique desired position.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"hash\":\"{{portfolio_hash}}\",\"sort_order\":0}`\n- **Validation rules:** `required|array:hash,sort_order`\n- `required` — must be provided.\n- `array:hash,sort_order` — must be an array.\n### `photos.*.hash`\n- **Description:** Current portfolio hash returned by the list.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `{{portfolio_hash}}`\n- **Validation rules:** `required|string|distinct|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `max:255` — must not exceed 255.\n### `photos.*.sort_order`\n- **Description:** Unique nonnegative position; ascending order is displayed.\n- **Type:** `integer`\n- **Required:** required\n- **Example:** `0`\n- **Validation rules:** `required|integer|distinct|between:0,2147483647`\n- `required` — must be provided.\n- `integer` — must be a whole number.\n- `distinct` — must not repeat a value.\n- `between:0,2147483647` — must be between 0, 2147483647.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{portfolio_hash}}` — Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder.\n- Saves `portfolio_hash` ← `data.portfolio.*.hash` of a 2xx response\n\n**Responses:**\n- `200` Reorder every previous work photo\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid scoped profile or portfolio shape\n- `422` Reorder rejects foreign or incomplete set — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [\n            {\n                \"hash\": \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\",\n                \"url\": \"http://localhost/storage/portfolio/49e2f3e1-3d1b-41d1-a6a3-164afed208e0.png\",\n                \"sort_order\": 0\n            },\n            {\n                \"hash\": \"4391a3a31ca10baed28b7479d8697300\",\n                \"url\": \"http://localhost/storage/uploads/portfolio/7abc2ed7-18b3-44b6-9c51-889e9c4723b4.webp\",\n                \"sort_order\": 5\n            }\n        ],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"photos\": [\n        {\n            \"hash\": \"{{portfolio_hash}}\",\n            \"sort_order\": 0\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Reorder every previous work photo",
                                            "_joshen": {
                                                "route": "provider.portfolio.reorder",
                                                "name": "Reorder every previous work photo",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio/reorder",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            {
                                                                "hash": "4391a3a31ca10baed28b7479d8697300",
                                                                "sort_order": 5
                                                            },
                                                            {
                                                                "hash": "49e2f3e1-3d1b-41d1-a6a3-164afed208e0",
                                                                "sort_order": 0
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_portfolio_append_order_delete_and_onboarding_completion"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/reorder",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        "reorder"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        {\n            \"hash\": \"4391a3a31ca10baed28b7479d8697300\",\n            \"sort_order\": 5\n        },\n        {\n            \"hash\": \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\",\n            \"sort_order\": 0\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [\n            {\n                \"hash\": \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\",\n                \"url\": \"http://localhost/storage/portfolio/49e2f3e1-3d1b-41d1-a6a3-164afed208e0.png\",\n                \"sort_order\": 0\n            },\n            {\n                \"hash\": \"4391a3a31ca10baed28b7479d8697300\",\n                \"url\": \"http://localhost/storage/uploads/portfolio/7abc2ed7-18b3-44b6-9c51-889e9c4723b4.webp\",\n                \"sort_order\": 5\n            }\n        ],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/reorder",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        "reorder"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        {\n            \"hash\": \"{{portfolio_hash}}\",\n            \"sort_order\": 0\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/reorder",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        "reorder"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        {\n            \"hash\": \"{{portfolio_hash}}\",\n            \"sort_order\": 0\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid scoped profile or portfolio shape",
                                            "_joshen": {
                                                "route": "provider.portfolio.reorder",
                                                "name": "Invalid scoped profile or portfolio shape",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio/reorder",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            {
                                                                "hash": "d65a481a-39fb-43f8-a37f-b5855e5241ea",
                                                                "sort_order": -1
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_shape_errors_and_duplicate_hashes_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/reorder",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        "reorder"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        {\n            \"hash\": \"d65a481a-39fb-43f8-a37f-b5855e5241ea\",\n            \"sort_order\": -1\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The photos.0.sort_order field must be between 0 and 2147483647.\",\n    \"data\": {\n        \"errors\": {\n            \"photos.0.sort_order\": [\n                \"The photos.0.sort_order field must be between 0 and 2147483647.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Reorder rejects foreign or incomplete set",
                                            "_joshen": {
                                                "route": "provider.portfolio.reorder",
                                                "name": "Reorder rejects foreign or incomplete set",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio/reorder",
                                                    "query": null,
                                                    "body": {
                                                        "photos": [
                                                            {
                                                                "hash": "fdd3676e-8147-4e68-bb03-ea9537e27c11",
                                                                "sort_order": 0
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_reorder_and_delete_are_owned_and_validate_complete_set"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/reorder",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        "reorder"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photos\": [\n        {\n            \"hash\": \"fdd3676e-8147-4e68-bb03-ea9537e27c11\",\n            \"sort_order\": 0\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Include every current portfolio photo exactly once, with a unique sort order.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Include every current portfolio photo exactly once, with a unique sort order.\"\n            ]\n        },\n        \"correlation_id\": \"f4132920-f4c3-47d4-9a00-e3c256727bcb\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "portfolio_hash",
                                                "path": "data.portfolio.*.hash"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "portfolio_hash",
                                                "set_by": [
                                                    "provider.portfolio.index",
                                                    "provider.portfolio.store",
                                                    "provider.portfolio.reorder"
                                                ],
                                                "how": "Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"portfolio_hash\",\"Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/portfolio/:portfolio_hash",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "portfolio",
                                                ":portfolio_hash"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "portfolio_hash",
                                                    "value": "{{portfolio_hash}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.portfolio.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{portfolio_hash}}` — Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Delete an owned previous work photo\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Foreign or missing portfolio hash\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [\n            {\n                \"hash\": \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\",\n                \"url\": \"http://localhost/storage/portfolio/49e2f3e1-3d1b-41d1-a6a3-164afed208e0.png\",\n                \"sort_order\": 0\n            }\n        ],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Delete an owned previous work photo",
                                            "_joshen": {
                                                "route": "provider.portfolio.destroy",
                                                "name": "Delete an owned previous work photo",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio/4391a3a31ca10baed28b7479d8697300",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_portfolio_append_order_delete_and_onboarding_completion"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/4391a3a31ca10baed28b7479d8697300",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        "4391a3a31ca10baed28b7479d8697300"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"portfolio\": [\n            {\n                \"hash\": \"49e2f3e1-3d1b-41d1-a6a3-164afed208e0\",\n                \"url\": \"http://localhost/storage/portfolio/49e2f3e1-3d1b-41d1-a6a3-164afed208e0.png\",\n                \"sort_order\": 0\n            }\n        ],\n        \"portfolio_max_photos\": 12,\n        \"can_add_photo\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/:portfolio_hash",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        ":portfolio_hash"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "portfolio_hash",
                                                            "value": "{{portfolio_hash}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/:portfolio_hash",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        ":portfolio_hash"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "portfolio_hash",
                                                            "value": "{{portfolio_hash}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Foreign or missing portfolio hash",
                                            "_joshen": {
                                                "route": "provider.portfolio.destroy",
                                                "name": "Foreign or missing portfolio hash",
                                                "code": 404,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/portfolio/1ecffa61-a5a0-40a2-8938-d2a591050165",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProfileTest::test_ac_prov_008_reorder_and_delete_are_owned_and_validate_complete_set"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/portfolio/1ecffa61-a5a0-40a2-8938-d2a591050165",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "portfolio",
                                                        "1ecffa61-a5a0-40a2-8938-d2a591050165"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "portfolio_hash",
                                                "set_by": [
                                                    "provider.portfolio.index",
                                                    "provider.portfolio.store",
                                                    "provider.portfolio.reorder"
                                                ],
                                                "how": "Saved by GET /api/v1/provider/profile/portfolio, POST /api/v1/provider/profile/portfolio, PATCH /api/v1/provider/profile/portfolio/reorder."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "work-area"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.work-area.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Saved city and coverage\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a1c4f4-dc12-701b-81d1-360359b9743b\",\n            \"name\": \"Sample-ncfk16055826\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a1c4f4-dc1d-70fc-8f97-4cee9734bc79\",\n                \"name\": \"Sample-drgs65065803\"\n            },\n            {\n                \"id\": \"01a1c4f4-dc1c-7202-9749-c6a286887258\",\n                \"name\": \"Sample-hmiv40613167\"\n            }\n        ],\n        \"base_lat\": 24.713552,\n        \"base_lng\": 46.675296,\n        \"service_radius_km\": 15,\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\",\n            \"base_lat\",\n            \"base_lng\",\n            \"service_radius_km\"\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Saved city and coverage",
                                            "_joshen": {
                                                "route": "provider.work-area.show",
                                                "name": "Saved city and coverage",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_approved_provider_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a1c4f4-dc12-701b-81d1-360359b9743b\",\n            \"name\": \"Sample-ncfk16055826\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a1c4f4-dc1d-70fc-8f97-4cee9734bc79\",\n                \"name\": \"Sample-drgs65065803\"\n            },\n            {\n                \"id\": \"01a1c4f4-dc1c-7202-9749-c6a286887258\",\n                \"name\": \"Sample-hmiv40613167\"\n            }\n        ],\n        \"base_lat\": 24.713552,\n        \"base_lng\": 46.675296,\n        \"service_radius_km\": 15,\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\",\n            \"base_lat\",\n            \"base_lng\",\n            \"service_radius_km\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "work-area"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.work-area.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `city_id`\n- **Description:** BRD city UUID (governorates); must be enabled. Omit to keep the saved city. Changing a saved city after approval or during review returns 409 (TD-76).\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `sometimes|required|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `district_ids`\n- **Description:** Full list of covered BRD district UUIDs (regions); replaces the saved list, [] clears it. Each must be enabled and belong to the resulting city (BR-08).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{region_id}}\"]`\n- **Validation rules:** `sometimes|array|list`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `district_ids.*`\n- **Description:** Covered district UUID (regions).\n- **Type:** `string (uuid)`\n- **Refers to:** a `regions` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{region_id}}`\n- **Validation rules:** `required|distinct|uuid|exists:regions,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:regions,uuid` — must reference an existing record (regions, uuid).\n### `base_lat`\n- **Description:** Latitude of the point you travel from; send with base_lng, both numbers or both null (TD-77).\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `24.713552`\n- **Validation rules:** `nullable|present_with:base_lng|required_with:base_lng|numeric|between:-90,90`\n- `nullable` — may be null.\n- `present_with:base_lng` — custom validation rule.\n- `required_with:base_lng` — required when base_lng is present.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `base_lng`\n- **Description:** Longitude paired with base_lat.\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `46.675296`\n- **Validation rules:** `nullable|present_with:base_lat|required_with:base_lat|numeric|between:-180,180`\n- `nullable` — may be null.\n- `present_with:base_lat` — custom validation rule.\n- `required_with:base_lat` — required when base_lat is present.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n### `service_radius_km`\n- **Description:** Travel radius around the base point in km, 1–32767 (schema default 10). Part of coverage: locked with it once districts or coordinates are saved (TD-77).\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `15`\n- **Validation rules:** `sometimes|integer|between:1,32767`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:1,32767` — must be between 1, 32767.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n\n**Responses:**\n- `200` Approved provider sets city and coverage for the first time\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Changing approved coverage needs review — `error_code: PROFILE_CHANGE_REVIEW_REQUIRED`\n- `409` Changing the approved city needs review — `error_code: PROFILE_CHANGE_REVIEW_REQUIRED`\n- `409` City cannot change during review — `error_code: INVALID_STATE_TRANSITION`\n- `422` Base latitude sent without longitude\n- `422` District belongs to another city — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Districts sent before choosing a city — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Inactive city — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Inactive district — `error_code: SERVICE_AREA_UNAVAILABLE`\n- `422` Zero service radius\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a1c4f4-dc12-701b-81d1-360359b9743b\",\n            \"name\": \"Sample-ncfk16055826\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a1c4f4-dc1d-70fc-8f97-4cee9734bc79\",\n                \"name\": \"Sample-drgs65065803\"\n            },\n            {\n                \"id\": \"01a1c4f4-dc1c-7202-9749-c6a286887258\",\n                \"name\": \"Sample-hmiv40613167\"\n            }\n        ],\n        \"base_lat\": 24.713552,\n        \"base_lng\": 46.675296,\n        \"service_radius_km\": 15,\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\",\n            \"base_lat\",\n            \"base_lng\",\n            \"service_radius_km\"\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Approved provider sets city and coverage for the first time",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "Approved provider sets city and coverage for the first time",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-dc12-701b-81d1-360359b9743b",
                                                        "district_ids": [
                                                            "01a1c4f4-dc1c-7202-9749-c6a286887258",
                                                            "01a1c4f4-dc1d-70fc-8f97-4cee9734bc79"
                                                        ],
                                                        "base_lat": 24.713552,
                                                        "base_lng": 46.675296,
                                                        "service_radius_km": 15
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_approved_provider_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-dc12-701b-81d1-360359b9743b\",\n    \"district_ids\": [\n        \"01a1c4f4-dc1c-7202-9749-c6a286887258\",\n        \"01a1c4f4-dc1d-70fc-8f97-4cee9734bc79\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a1c4f4-dc12-701b-81d1-360359b9743b\",\n            \"name\": \"Sample-ncfk16055826\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a1c4f4-dc1d-70fc-8f97-4cee9734bc79\",\n                \"name\": \"Sample-drgs65065803\"\n            },\n            {\n                \"id\": \"01a1c4f4-dc1c-7202-9749-c6a286887258\",\n                \"name\": \"Sample-hmiv40613167\"\n            }\n        ],\n        \"base_lat\": 24.713552,\n        \"base_lng\": 46.675296,\n        \"service_radius_km\": 15,\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\",\n            \"base_lat\",\n            \"base_lng\",\n            \"service_radius_km\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ],\n    \"base_lat\": 24.713552,\n    \"base_lng\": 46.675296,\n    \"service_radius_km\": 15\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Changing approved coverage needs review",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "Changing approved coverage needs review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "district_ids": [
                                                            "01a1c4f4-dcd7-7088-a8c3-982dfbe71e41",
                                                            "01a1c4f4-dcdd-726d-90aa-766b2eb25445"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_changing_saved_work_area_or_payout_after_approval_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"district_ids\": [\n        \"01a1c4f4-dcd7-7088-a8c3-982dfbe71e41\",\n        \"01a1c4f4-dcdd-726d-90aa-766b2eb25445\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Changing Districts after approval needs an admin-reviewed change request. Please send a change request from your account.\",\n    \"data\": {\n        \"error_code\": \"PROFILE_CHANGE_REVIEW_REQUIRED\",\n        \"correlation_id\": \"58bf5029-7665-4cb1-adbb-54fdf13ded80\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Changing the approved city needs review",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "Changing the approved city needs review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-dce1-7366-b05e-0a6ee655b830"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_changing_saved_work_area_or_payout_after_approval_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-dce1-7366-b05e-0a6ee655b830\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Changing City after approval needs an admin-reviewed change request. Please send a change request from your account.\",\n    \"data\": {\n        \"error_code\": \"PROFILE_CHANGE_REVIEW_REQUIRED\",\n        \"correlation_id\": \"194b4867-228d-4d35-8e51-5035e8be55cc\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 City cannot change during review",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "City cannot change during review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-dd52-7207-b133-0bf7b8363d3c",
                                                        "district_ids": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_pending_review_blocks_only_city_and_payout_changes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-dd52-7207-b133-0bf7b8363d3c\",\n    \"district_ids\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"City cannot be changed while your account is under review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"453b21d3-71f8-4c46-9953-10bcd942cd35\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Base latitude sent without longitude",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "Base latitude sent without longitude",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "base_lat": 24.7
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"base_lat\": 24.7\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Base longitude field must be present when Base latitude is present.\",\n    \"data\": {\n        \"errors\": {\n            \"base_lng\": [\n                \"The Base longitude field must be present when Base latitude is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 District belongs to another city",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "District belongs to another city",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-ddf3-7094-801d-1ed9309acaea",
                                                        "district_ids": [
                                                            "01a1c4f4-ddf9-71ac-96b4-1d89d563f2dd"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_work_area_rejects_foreign_and_inactive_areas"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-ddf3-7094-801d-1ed9309acaea\",\n    \"district_ids\": [\n        \"01a1c4f4-ddf9-71ac-96b4-1d89d563f2dd\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district does not belong to this city.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"The selected district does not belong to this city.\"\n            ]\n        },\n        \"correlation_id\": \"dfd447ce-7fd0-4a96-bc9c-e111e851b239\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Districts sent before choosing a city",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "Districts sent before choosing a city",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "district_ids": [
                                                            "01a1c4f4-ddf9-71ac-96b4-1d89d563f2dd"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_work_area_rejects_foreign_and_inactive_areas"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"district_ids\": [\n        \"01a1c4f4-ddf9-71ac-96b4-1d89d563f2dd\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Choose a city before selecting districts.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"41b99118-cd39-4262-a2a3-325b0f61da45\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive city",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "Inactive city",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-de1e-70bd-9dae-b1b47f13b442"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_work_area_rejects_foreign_and_inactive_areas"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-de1e-70bd-9dae-b1b47f13b442\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"3f1cf681-0a9b-4cac-aac9-08f962e4eec4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive district",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "Inactive district",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-ddf3-7094-801d-1ed9309acaea",
                                                        "district_ids": [
                                                            "01a1c4f4-de13-73a4-b28c-674836092656"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_work_area_rejects_foreign_and_inactive_areas"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-ddf3-7094-801d-1ed9309acaea\",\n    \"district_ids\": [\n        \"01a1c4f4-de13-73a4-b28c-674836092656\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"a9b35377-89f9-4dff-b9fc-42be4a4a4b7e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Zero service radius",
                                            "_joshen": {
                                                "route": "provider.work-area.update",
                                                "name": "Zero service radius",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "service_radius_km": 0
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"service_radius_km\": 0\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Service radius field must be between 1 and 32767.\",\n    \"data\": {\n        \"errors\": {\n            \"service_radius_km\": [\n                \"The Service radius field must be between 1 and 32767.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/photo",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "photo"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.photo.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `photo`\n- **Description:** Hash of a fresh image you uploaded with POST /media (jpg/jpeg/png/webp, at most 2 MiB; users.image). Send null to remove the photo. Always a direct edit, in every account status (TD-72/76).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `present|nullable|string|max:255`\n- `present` — must be present (may be empty).\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `200` Provider sets her profile photo\n- `200` Remove profile photo\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Photo hash uploaded by someone else — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Photo key missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"photo\": \"http://localhost/storage/images/3c684d1c-ade3-4628-a949-5ce2abdd1881.png\",\n        \"has_photo\": true\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"photo\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider sets her profile photo",
                                            "_joshen": {
                                                "route": "provider.photo.update",
                                                "name": "Provider sets her profile photo",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/photo",
                                                    "query": null,
                                                    "body": {
                                                        "photo": "3c684d1c-ade3-4628-a949-5ce2abdd1881"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_approved_provider_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"3c684d1c-ade3-4628-a949-5ce2abdd1881\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"photo\": \"http://localhost/storage/images/3c684d1c-ade3-4628-a949-5ce2abdd1881.png\",\n        \"has_photo\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Remove profile photo",
                                            "_joshen": {
                                                "route": "provider.photo.update",
                                                "name": "Remove profile photo",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/photo",
                                                    "query": null,
                                                    "body": {
                                                        "photo": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_photo_rejects_foreign_hash_and_null_removes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"photo\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n        \"has_photo\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Photo hash uploaded by someone else",
                                            "_joshen": {
                                                "route": "provider.photo.update",
                                                "name": "Photo hash uploaded by someone else",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/photo",
                                                    "query": null,
                                                    "body": {
                                                        "photo": "f59ed62a-b339-4e01-abb8-83bfe70c299b"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_photo_rejects_foreign_hash_and_null_removes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"f59ed62a-b339-4e01-abb8-83bfe70c299b\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"3343defd-ab84-47ca-824c-d2a89ff3ff90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Photo key missing",
                                            "_joshen": {
                                                "route": "provider.photo.update",
                                                "name": "Photo key missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/photo",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Profile photo field must be present.\",\n    \"data\": {\n        \"errors\": {\n            \"photo\": [\n                \"The Profile photo field must be present.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "payout-account"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.payout-account.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` No payout account yet\n- `200` Saved payout account with masked IBAN\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"payout_account\": null,\n        \"can_edit\": true\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 No payout account yet",
                                            "_joshen": {
                                                "route": "provider.payout-account.show",
                                                "name": "No payout account yet",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_approved_provider_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"payout_account\": null,\n        \"can_edit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Saved payout account with masked IBAN",
                                            "_joshen": {
                                                "route": "provider.payout-account.show",
                                                "name": "Saved payout account with masked IBAN",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_approved_provider_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a1c4f4-dc9e-73e8-becf-c3ca82a1aa74\",\n            \"holder_name\": \"Noura\",\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-10T10:15:44+00:00\"\n        },\n        \"can_edit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Send",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "phone"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.phone.send`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** Calling code of the NEW number; only `+966` (`966` and `00966` are accepted and normalized).\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** required\n- **Example:** `+966`\n- **Validation rules:** `required|string|in:+966`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** NEW Saudi mobile number, 9 digits starting with 5 (`05…` is accepted and normalized). A code is sent to it; nothing changes until it is verified.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `512345678`\n- **Validation rules:** `required|string|regex:/^5[0-9]{8}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password_confirmation`\n- **Description:** Password confirmation _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` OTP sent to the new number\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Number belongs to another account — `error_code: PHONE_IN_USE`\n- `422` Invalid number\n- `422` Same number — `error_code: VALIDATION_FAILED`\n- `429` Asked again too soon — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent to the new number.\",\n    \"data\": {\n        \"verification_token\": \"01a17233-c1d7-72f3-9b9b-38f69c646b95\",\n        \"expires_at\": \"2026-10-25T08:45:57+00:00\",\n        \"resend_available_at\": \"2026-10-25T08:36:57+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 OTP sent to the new number",
                                            "_joshen": {
                                                "route": "provider.profile.phone.send",
                                                "name": "OTP sent to the new number",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0522222222"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_mobile_changes_only_after_the_new_number_is_verified"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0522222222\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent to the new number.\",\n    \"data\": {\n        \"verification_token\": \"01a17233-c1d7-72f3-9b9b-38f69c646b95\",\n        \"expires_at\": \"2026-10-25T08:45:57+00:00\",\n        \"resend_available_at\": \"2026-10-25T08:36:57+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Number belongs to another account",
                                            "_joshen": {
                                                "route": "provider.profile.phone.send",
                                                "name": "Number belongs to another account",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "+966",
                                                        "phone": "533333333"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_another_accounts_number_or_the_same_number_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"533333333\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This mobile number is already registered to another account.\",\n    \"data\": {\n        \"error_code\": \"PHONE_IN_USE\",\n        \"correlation_id\": \"36694e6b-1753-482f-8e49-6a0490b26e35\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid number",
                                            "_joshen": {
                                                "route": "provider.profile.phone.send",
                                                "name": "Invalid number",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "+20",
                                                        "phone": "12"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_another_accounts_number_or_the_same_number_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+20\",\n    \"phone\": \"12\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected phone code is invalid. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"phone_code\": [\n                \"The selected phone code is invalid.\"\n            ],\n            \"phone\": [\n                \"The phone field format is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Same number",
                                            "_joshen": {
                                                "route": "provider.profile.phone.send",
                                                "name": "Same number",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "+966",
                                                        "phone": "511111111"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_another_accounts_number_or_the_same_number_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"511111111\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This is already your mobile number.\",\n    \"data\": {\n        \"error_code\": \"VALIDATION_FAILED\",\n        \"correlation_id\": \"3fed3501-ee07-4667-8b9e-111b583be09d\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Asked again too soon",
                                            "_joshen": {
                                                "route": "provider.profile.phone.send",
                                                "name": "Asked again too soon",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "+966",
                                                        "phone": "533333333"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_resend_keeps_the_token_and_asking_again_too_soon_is_throttled"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"533333333\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Please wait before requesting another code.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\",\n        \"correlation_id\": \"6a831850-87cb-4568-8b9c-57eab891c038\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Resend",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/phone/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "phone",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.phone.resend`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Opaque challenge token returned by `POST /profile/phone`.\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n\n**Responses:**\n- `200` Code sent again\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Challenge token is not a uuid\n- `429` Too many codes for this number — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent to the new number.\",\n    \"data\": {\n        \"verification_token\": \"01a17233-c6d2-71af-a980-6ff860e3819d\",\n        \"expires_at\": \"2026-10-25T08:45:58+00:00\",\n        \"resend_available_at\": \"2026-10-25T08:36:58+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Code sent again",
                                            "_joshen": {
                                                "route": "provider.profile.phone.resend",
                                                "name": "Code sent again",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17233-c6d2-71af-a980-6ff860e3819d"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_resend_keeps_the_token_and_asking_again_too_soon_is_throttled"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17233-c6d2-71af-a980-6ff860e3819d\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent to the new number.\",\n    \"data\": {\n        \"verification_token\": \"01a17233-c6d2-71af-a980-6ff860e3819d\",\n        \"expires_at\": \"2026-10-25T08:45:58+00:00\",\n        \"resend_available_at\": \"2026-10-25T08:36:58+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Challenge token is not a uuid",
                                            "_joshen": {
                                                "route": "provider.profile.phone.resend",
                                                "name": "Challenge token is not a uuid",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "not-a-uuid"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_code_requests_are_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"not-a-uuid\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The verification token field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"verification_token\": [\n                \"The verification token field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many codes for this number",
                                            "_joshen": {
                                                "route": "provider.profile.phone.resend",
                                                "name": "Too many codes for this number",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17233-c727-7279-94b2-810cd2cc15f4"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_code_requests_are_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17233-c727-7279-94b2-810cd2cc15f4\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Verify",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/phone/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "phone",
                                                "verify"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.phone.verify`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, throttle:otp-verify`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Opaque challenge token returned by `POST /profile/phone`; only the account (and app) that asked can use it.\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n### `code`\n- **Description:** The code sent to the new number (4 digits while the fixed OTP of TD-24 applies, 6 once the SMS gateway ships — DEC-15).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `1234`\n- **Validation rules:** `required|string|regex:/^[0-9]{4}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^[0-9]{4}$/D` — must match the pattern shown.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n\n**Responses:**\n- `200` Mobile number changed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Code is not a number\n- `429` Too many verify requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your mobile number was changed.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a17233-c1c9-7314-85fc-134e9bb1948c\",\n            \"full_name\": \"Sarai Renner\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"522222222\",\n            \"email\": \"dashawn.dubuque@example.net\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a17233-c1c9-7314-85fc-134e9b8ce2ec\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Sarina Larson\",\n            \"account_status\": {\n                \"value\": \"approved\",\n                \"label\": \"Approved\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"1234\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Mobile number changed",
                                            "_joshen": {
                                                "route": "provider.profile.phone.verify",
                                                "name": "Mobile number changed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17233-c1d7-72f3-9b9b-38f69c646b95",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_mobile_changes_only_after_the_new_number_is_verified"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17233-c1d7-72f3-9b9b-38f69c646b95\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your mobile number was changed.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a17233-c1c9-7314-85fc-134e9bb1948c\",\n            \"full_name\": \"Sarai Renner\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"522222222\",\n            \"email\": \"dashawn.dubuque@example.net\",\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"ar\"\n        },\n        \"profile\": {\n            \"id\": \"01a17233-c1c9-7314-85fc-134e9b8ce2ec\",\n            \"provider_type\": {\n                \"value\": \"individual\",\n                \"label\": \"Individual\"\n            },\n            \"display_name\": \"Sarina Larson\",\n            \"account_status\": {\n                \"value\": \"approved\",\n                \"label\": \"Approved\"\n            },\n            \"status_reason\": null,\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"is_subscribed\": false,\n            \"subscription_plan\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Code is not a number",
                                            "_joshen": {
                                                "route": "provider.profile.phone.verify",
                                                "name": "Code is not a number",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17233-c1d7-72f3-9b9b-38f69c646b95",
                                                        "code": "abc"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_mobile_changes_only_after_the_new_number_is_verified"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17233-c1d7-72f3-9b9b-38f69c646b95\",\n    \"code\": \"abc\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The verification code field format is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"code\": [\n                \"The verification code field format is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many verify requests",
                                            "_joshen": {
                                                "route": "provider.profile.phone.verify",
                                                "name": "Too many verify requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/phone/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a17233-c727-7279-94b2-810cd2cc15f4",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PhoneChangeTest::test_ac_prov_008_code_requests_are_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/phone/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "phone",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a17233-c727-7279-94b2-810cd2cc15f4\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "payout-account"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.payout-account.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `holder_name`\n- **Description:** Account holder name as registered at the bank (max 150).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Noura Al Shammari`\n- **Validation rules:** `required|string|max:150`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `bank_name`\n- **Description:** Bank name (max 100).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Al Rajhi Bank`\n- **Validation rules:** `required|string|max:100`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `iban`\n- **Description:** Saudi IBAN: SA + 22 digits or capital letters, no spaces (schema ck_pa_iban). Returned masked to the last four (TD-45). The first account is a direct set; replacing it after approval or during review returns 409 (TD-76).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `SA0380000000608010167519`\n- **Validation rules:** `required|string|regex:/^SA[0-9A-Z]{22}$/`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^SA[0-9A-Z]{22}$/` — must match the pattern shown.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `201` Approved provider adds her first payout account\n- `201` Rejected payout account replaced after approval\n- `201` Replace payout account before approval\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Payout account cannot change during review — `error_code: INVALID_STATE_TRANSITION`\n- `409` Replacing the approved payout account needs review — `error_code: PROFILE_CHANGE_REVIEW_REQUIRED`\n- `422` IBAN is not SA plus 22 characters\n- `422` Missing bank details\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a1c4f4-dc9e-73e8-becf-c3ca82a1aa74\",\n            \"holder_name\": \"Noura\",\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-10T10:15:44+00:00\"\n        },\n        \"can_edit\": false\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"holder_name\": \"Noura Al Shammari\",\n    \"bank_name\": \"Al Rajhi Bank\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Approved provider adds her first payout account",
                                            "_joshen": {
                                                "route": "provider.payout-account.store",
                                                "name": "Approved provider adds her first payout account",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Noura",
                                                        "bank_name": "Al Rajhi Bank",
                                                        "iban": "SA0380000000608010167519"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_approved_provider_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura\",\n    \"bank_name\": \"Al Rajhi Bank\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a1c4f4-dc9e-73e8-becf-c3ca82a1aa74\",\n            \"holder_name\": \"Noura\",\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-10T10:15:44+00:00\"\n        },\n        \"can_edit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "201 Rejected payout account replaced after approval",
                                            "_joshen": {
                                                "route": "provider.payout-account.store",
                                                "name": "Rejected payout account replaced after approval",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Noura A",
                                                        "bank_name": "Al Rajhi",
                                                        "iban": "SA0380000000608010167519"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_replacing_a_rejected_account_is_allowed_after_approval"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura A\",\n    \"bank_name\": \"Al Rajhi\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a19b8f-ef78-72d2-810e-693247af0562\",\n            \"holder_name\": \"Noura A\",\n            \"bank_name\": \"Al Rajhi\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-02T09:21:03+00:00\"\n        },\n        \"can_edit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "201 Replace payout account before approval",
                                            "_joshen": {
                                                "route": "provider.payout-account.store",
                                                "name": "Replace payout account before approval",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Noura",
                                                        "bank_name": "SNB",
                                                        "iban": "SA4420000001234567891234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_before_approval_changes_are_direct_and_payout_history_is_kept"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura\",\n    \"bank_name\": \"SNB\",\n    \"iban\": \"SA4420000001234567891234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a1c4f4-ddd5-7098-90a2-92ab8d46ed8c\",\n            \"holder_name\": \"Noura\",\n            \"bank_name\": \"SNB\",\n            \"iban\": \"****1234\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-10T10:15:44+00:00\"\n        },\n        \"can_edit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura Al Shammari\",\n    \"bank_name\": \"Al Rajhi Bank\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura Al Shammari\",\n    \"bank_name\": \"Al Rajhi Bank\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Payout account cannot change during review",
                                            "_joshen": {
                                                "route": "provider.payout-account.store",
                                                "name": "Payout account cannot change during review",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Noura",
                                                        "bank_name": "SNB",
                                                        "iban": "SA4420000001234567891234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_pending_review_blocks_only_city_and_payout_changes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura\",\n    \"bank_name\": \"SNB\",\n    \"iban\": \"SA4420000001234567891234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Payout account cannot be changed while your account is under review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"e1962089-a13e-4ac0-94f7-919ec266d741\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Replacing the approved payout account needs review",
                                            "_joshen": {
                                                "route": "provider.payout-account.store",
                                                "name": "Replacing the approved payout account needs review",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Noura",
                                                        "bank_name": "SNB",
                                                        "iban": "SA4420000001234567891234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_changing_saved_work_area_or_payout_after_approval_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura\",\n    \"bank_name\": \"SNB\",\n    \"iban\": \"SA4420000001234567891234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Changing Payout account after approval needs an admin-reviewed change request. Please send a change request from your account.\",\n    \"data\": {\n        \"error_code\": \"PROFILE_CHANGE_REVIEW_REQUIRED\",\n        \"correlation_id\": \"c3a0d917-9009-45d1-890d-fc4a4a139ee0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 IBAN is not SA plus 22 characters",
                                            "_joshen": {
                                                "route": "provider.payout-account.store",
                                                "name": "IBAN is not SA plus 22 characters",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Noura",
                                                        "bank_name": "SNB",
                                                        "iban": "SA 0380 0000 0060 8010 1675 19"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura\",\n    \"bank_name\": \"SNB\",\n    \"iban\": \"SA 0380 0000 0060 8010 1675 19\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The IBAN field format is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"iban\": [\n                \"The IBAN field format is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing bank details",
                                            "_joshen": {
                                                "route": "provider.payout-account.store",
                                                "name": "Missing bank details",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/payout-account",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AccountCompletionTest::test_ac_prov_008_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Account holder name field is required. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"holder_name\": [\n                \"The Account holder name field is required.\"\n            ],\n            \"bank_name\": [\n                \"The Bank name field is required.\"\n            ],\n            \"iban\": [\n                \"The IBAN field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"change_request_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "change-requests"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "pending",
                                                    "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[change_type]",
                                                    "value": "work_area",
                                                    "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.change-requests.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled` (optional)\n- `filters[change_type]` — Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document` (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `change_request_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Her change requests\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-b53e-7037-b09b-b793754ac436\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Under review\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": {\n                            \"id\": \"01a1c4e0-b513-73f2-a42d-2ebb39fe6e97\",\n                            \"name\": \"Sample-reii95340692\"\n                        },\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-b523-7035-be8e-540cc1378d56\",\n                            \"name\": \"Sample-bqjo61387373\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [\n                            {\n                                \"id\": \"01a1c4e0-b519-7053-ae33-8ee056ffcf3e\",\n                                \"name\": \"Sample-lhnt18133576\"\n                            }\n                        ],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-b527-720e-a0e1-9d73f8b95c2a\",\n                                \"name\": \"Sample-bxum36797732\"\n                            }\n                        ]\n                    },\n                    {\n                        \"field\": \"service_radius_km\",\n                        \"label\": \"Service radius (km)\",\n                        \"current\": 10,\n                        \"proposed\": 20\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": null,\n                \"can_cancel\": true,\n                \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n                \"reviewed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/profile/change-requests?filters%5Bstatus%5D=pending&page=1\",\n            \"last\": \"http://localhost/api/v1/provider/profile/change-requests?filters%5Bstatus%5D=pending&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/profile/change-requests?filters%5Bstatus%5D=pending&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/profile/change-requests\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Her change requests",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.index",
                                                "name": "Her change requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": {
                                                        "filters": {
                                                            "status": "pending"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_she_lists_reads_and_cancels_only_her_own_requests"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests?filters[status]=pending",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-b53e-7037-b09b-b793754ac436\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Under review\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": {\n                            \"id\": \"01a1c4e0-b513-73f2-a42d-2ebb39fe6e97\",\n                            \"name\": \"Sample-reii95340692\"\n                        },\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-b523-7035-be8e-540cc1378d56\",\n                            \"name\": \"Sample-bqjo61387373\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [\n                            {\n                                \"id\": \"01a1c4e0-b519-7053-ae33-8ee056ffcf3e\",\n                                \"name\": \"Sample-lhnt18133576\"\n                            }\n                        ],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-b527-720e-a0e1-9d73f8b95c2a\",\n                                \"name\": \"Sample-bxum36797732\"\n                            }\n                        ]\n                    },\n                    {\n                        \"field\": \"service_radius_km\",\n                        \"label\": \"Service radius (km)\",\n                        \"current\": 10,\n                        \"proposed\": 20\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": null,\n                \"can_cancel\": true,\n                \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n                \"reviewed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/profile/change-requests?filters%5Bstatus%5D=pending&page=1\",\n            \"last\": \"http://localhost/api/v1/provider/profile/change-requests?filters%5Bstatus%5D=pending&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/profile/change-requests?filters%5Bstatus%5D=pending&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/profile/change-requests\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": {
                                                        "filters": {
                                                            "status": "bogus"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_she_lists_reads_and_cancels_only_her_own_requests"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests?filters[status]=bogus",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "bogus"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "change_request_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"change_request_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "change-requests"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.change-requests.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, throttle:support-ticket`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `change_type`\n- **Description:** What she wants to change: `work_area`, `bank_account`, `identity`, `document`, or (driver app only) `vehicle`. Old data stays effective until an admin approves (BR-04).\n- **Type:** `string (enum)`\n- **Allowed values:** `work_area`, `bank_account`, `identity`, `document`\n- **Required:** required\n- **Example:** `work_area`\n- **Validation rules:** `required|string|in:\"work_area\",\"bank_account\",\"identity\",\"document\"`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:\"work_area\",\"bank_account\",\"identity\",\"document\"` — must be one of: \"work_area\", \"bank_account\", \"identity\", \"document\".\n### `changes`\n- **Description:** The new values; the allowed keys depend on `change_type` (see the guide). At least one value must differ from the current one.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[]`\n- **Validation rules:** `required|array|min:1|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `min:1` — must be at least 1.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `change_request_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Same Idempotency-Key replays the request\n- `201` Bank account change submitted\n- `201` Document replacement submitted\n- `201` Work area change submitted\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` A pending request of this type exists — `error_code: CHANGE_REQUEST_ALREADY_PENDING`\n- `409` Account not approved yet: edit directly — `error_code: INVALID_STATE_TRANSITION`\n- `409` No payout account to change — `error_code: INVALID_STATE_TRANSITION`\n- `422` File that is not hers\n- `422` Nothing differs from the current value\n- `422` Type not available in this app\n- `429` Too many submissions — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b292-72db-b4ed-1fc4752126b6\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b236-72bf-975d-12107327cca9\",\n                    \"name\": \"Sample-mbkr21182484\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b25e-7084-85f6-90ec7ecc85b9\",\n                    \"name\": \"Sample-gihn79346325\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b240-73cb-b29e-52077a760e62\",\n                        \"name\": \"Sample-wezp13681260\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b262-7356-8b91-7afd6902ddd5\",\n                        \"name\": \"Sample-blrr47044025\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:42+00:00\",\n        \"reviewed_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": []\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Same Idempotency-Key replays the request",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "Same Idempotency-Key replays the request",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "work_area",
                                                        "changes": {
                                                            "city_id": "01a1c4e0-b25e-7084-85f6-90ec7ecc85b9",
                                                            "district_ids": [
                                                                "01a1c4e0-b262-7356-8b91-7afd6902ddd5"
                                                            ],
                                                            "service_radius_km": 20
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_work_area_request_stays_pending_replays_and_blocks_a_second_one"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": {\n        \"city_id\": \"01a1c4e0-b25e-7084-85f6-90ec7ecc85b9\",\n        \"district_ids\": [\n            \"01a1c4e0-b262-7356-8b91-7afd6902ddd5\"\n        ],\n        \"service_radius_km\": 20\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b292-72db-b4ed-1fc4752126b6\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b236-72bf-975d-12107327cca9\",\n                    \"name\": \"Sample-mbkr21182484\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b25e-7084-85f6-90ec7ecc85b9\",\n                    \"name\": \"Sample-gihn79346325\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b240-73cb-b29e-52077a760e62\",\n                        \"name\": \"Sample-wezp13681260\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b262-7356-8b91-7afd6902ddd5\",\n                        \"name\": \"Sample-blrr47044025\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:42+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 Bank account change submitted",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "Bank account change submitted",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "bank_account",
                                                        "changes": {
                                                            "holder_name": "Noura",
                                                            "bank_name": "SNB",
                                                            "iban": "SA4420000001234567891234"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_bank_change_replaces_the_primary_account_and_never_shows_the_iban"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"bank_account\",\n    \"changes\": {\n        \"holder_name\": \"Noura\",\n        \"bank_name\": \"SNB\",\n        \"iban\": \"SA4420000001234567891234\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-c55e-73be-9803-d3f8b74d5055\",\n        \"change_type\": {\n            \"value\": \"bank_account\",\n            \"label\": \"Bank account\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"iban\",\n                \"label\": \"IBAN\",\n                \"current\": \"****7519\",\n                \"proposed\": \"****1234\"\n            },\n            {\n                \"field\": \"bank_name\",\n                \"label\": \"Bank\",\n                \"current\": \"eabvqrbhhaty\",\n                \"proposed\": \"SNB\"\n            },\n            {\n                \"field\": \"holder_name\",\n                \"label\": \"Account holder\",\n                \"current\": \"zntagelaawnr\",\n                \"proposed\": \"Noura\"\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:47+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 Document replacement submitted",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "Document replacement submitted",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "document",
                                                        "changes": {
                                                            "doc_type": "health_certificate",
                                                            "file": "440b439b-dd71-4363-8b1d-8999f28a6017",
                                                            "doc_number": "HC-7777",
                                                            "expires_at": "2027-11-10"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_an_identity_change_applies_and_a_document_replacement_hands_over_the_file"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"document\",\n    \"changes\": {\n        \"doc_type\": \"health_certificate\",\n        \"file\": \"440b439b-dd71-4363-8b1d-8999f28a6017\",\n        \"doc_number\": \"HC-7777\",\n        \"expires_at\": \"2027-11-10\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-c802-72cd-a85b-e10ea80e5397\",\n        \"change_type\": {\n            \"value\": \"document\",\n            \"label\": \"Document\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"doc_number\",\n                \"label\": \"Document number\",\n                \"current\": \"****9981\",\n                \"proposed\": \"****7777\"\n            },\n            {\n                \"field\": \"expires_at\",\n                \"label\": \"Expiry date\",\n                \"current\": \"2026-12-10\",\n                \"proposed\": \"2027-11-10\"\n            }\n        ],\n        \"file\": {\n            \"url\": \"/storage/docs/440b439b-dd71-4363-8b1d-8999f28a6017.pdf\",\n            \"mime_type\": \"application/pdf\"\n        },\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:48+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 Work area change submitted",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "Work area change submitted",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "work_area",
                                                        "changes": {
                                                            "city_id": "01a1c4e0-b25e-7084-85f6-90ec7ecc85b9",
                                                            "district_ids": [
                                                                "01a1c4e0-b262-7356-8b91-7afd6902ddd5"
                                                            ],
                                                            "service_radius_km": 20
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_work_area_request_stays_pending_replays_and_blocks_a_second_one"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": {\n        \"city_id\": \"01a1c4e0-b25e-7084-85f6-90ec7ecc85b9\",\n        \"district_ids\": [\n            \"01a1c4e0-b262-7356-8b91-7afd6902ddd5\"\n        ],\n        \"service_radius_km\": 20\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b292-72db-b4ed-1fc4752126b6\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b236-72bf-975d-12107327cca9\",\n                    \"name\": \"Sample-mbkr21182484\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b25e-7084-85f6-90ec7ecc85b9\",\n                    \"name\": \"Sample-gihn79346325\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b240-73cb-b29e-52077a760e62\",\n                        \"name\": \"Sample-wezp13681260\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b262-7356-8b91-7afd6902ddd5\",\n                        \"name\": \"Sample-blrr47044025\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:42+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 A pending request of this type exists",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "A pending request of this type exists",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "work_area",
                                                        "changes": {
                                                            "city_id": "01a1c4e0-b2dd-7115-95a6-c3f75e5f7d52",
                                                            "district_ids": [
                                                                "01a1c4e0-b2e2-7374-b1d8-e3afed9ac53b"
                                                            ],
                                                            "service_radius_km": 20
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_work_area_request_stays_pending_replays_and_blocks_a_second_one"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": {\n        \"city_id\": \"01a1c4e0-b2dd-7115-95a6-c3f75e5f7d52\",\n        \"district_ids\": [\n            \"01a1c4e0-b2e2-7374-b1d8-e3afed9ac53b\"\n        ],\n        \"service_radius_km\": 20\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You already have a pending request of this type. Cancel it first or wait for the review.\",\n    \"data\": {\n        \"error_code\": \"CHANGE_REQUEST_ALREADY_PENDING\",\n        \"correlation_id\": \"aff977cd-0ca2-4185-ac9d-5c00a149dfa8\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Account not approved yet: edit directly",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "Account not approved yet: edit directly",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "identity",
                                                        "changes": {
                                                            "display_name": "New name"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_validation_state_and_no_change_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"identity\",\n    \"changes\": {\n        \"display_name\": \"New name\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account is not approved yet, so you can edit this directly from your account.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"0d917312-b7c7-4d23-bdf1-44ab4b0922e5\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 No payout account to change",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "No payout account to change",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "bank_account",
                                                        "changes": {
                                                            "holder_name": "Noura",
                                                            "bank_name": "SNB",
                                                            "iban": "SA4420000001234567891234"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_bank_change_replaces_the_primary_account_and_never_shows_the_iban"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"bank_account\",\n    \"changes\": {\n        \"holder_name\": \"Noura\",\n        \"bank_name\": \"SNB\",\n        \"iban\": \"SA4420000001234567891234\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"There is no saved value to change. Set it directly from your account.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"a147ef9a-d206-489d-be6f-45612aae63d1\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 File that is not hers",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "File that is not hers",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "document",
                                                        "changes": {
                                                            "doc_type": "health_certificate",
                                                            "file": "dbcea353-1851-4b1b-9173-a74d5c3bdd9c"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_an_identity_change_applies_and_a_document_replacement_hands_over_the_file"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"document\",\n    \"changes\": {\n        \"doc_type\": \"health_certificate\",\n        \"file\": \"dbcea353-1851-4b1b-9173-a74d5c3bdd9c\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The file is missing, already used, or not yours.\",\n    \"data\": {\n        \"errors\": {\n            \"changes.file\": [\n                \"The file is missing, already used, or not yours.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Nothing differs from the current value",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "Nothing differs from the current value",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "work_area",
                                                        "changes": {
                                                            "service_radius_km": 10
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_validation_state_and_no_change_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": {\n        \"service_radius_km\": 10\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Nothing differs from your current data.\",\n    \"data\": {\n        \"errors\": {\n            \"changes\": [\n                \"Nothing differs from your current data.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Type not available in this app",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "Type not available in this app",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "vehicle",
                                                        "changes": {
                                                            "action": "edit"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_validation_state_and_no_change_errors"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"vehicle\",\n    \"changes\": {\n        \"action\": \"edit\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected change type is invalid. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"change_type\": [\n                \"The selected change type is invalid.\"\n            ],\n            \"changes\": [\n                \"Unsupported input key(s): changes.action.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many submissions",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.store",
                                                "name": "Too many submissions",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_submissions_are_rate_limited_in_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "change_request_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"change_request_id\",\"Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"change_request_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/change-requests/:changeRequest",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "change-requests",
                                                ":changeRequest"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "changeRequest",
                                                    "value": "{{change_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.change-requests.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{change_request_id}}` — Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `change_request_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` One change request\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Request of another account\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b53e-7037-b09b-b793754ac436\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b513-73f2-a42d-2ebb39fe6e97\",\n                    \"name\": \"Sample-reii95340692\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b523-7035-be8e-540cc1378d56\",\n                    \"name\": \"Sample-bqjo61387373\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b519-7053-ae33-8ee056ffcf3e\",\n                        \"name\": \"Sample-lhnt18133576\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b527-720e-a0e1-9d73f8b95c2a\",\n                        \"name\": \"Sample-bxum36797732\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n        \"reviewed_at\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 One change request",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.show",
                                                "name": "One change request",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests/01a1c4e0-b53e-7037-b09b-b793754ac436",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_she_lists_reads_and_cancels_only_her_own_requests"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests/01a1c4e0-b53e-7037-b09b-b793754ac436",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests",
                                                        "01a1c4e0-b53e-7037-b09b-b793754ac436"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b53e-7037-b09b-b793754ac436\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b513-73f2-a42d-2ebb39fe6e97\",\n                    \"name\": \"Sample-reii95340692\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b523-7035-be8e-540cc1378d56\",\n                    \"name\": \"Sample-bqjo61387373\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b519-7053-ae33-8ee056ffcf3e\",\n                        \"name\": \"Sample-lhnt18133576\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b527-720e-a0e1-9d73f8b95c2a\",\n                        \"name\": \"Sample-bxum36797732\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests/:changeRequest",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests/:changeRequest",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Request of another account",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.show",
                                                "name": "Request of another account",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests/01a1c4e0-b53e-7037-b09b-b793754ac436",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_she_lists_reads_and_cancels_only_her_own_requests"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests/01a1c4e0-b53e-7037-b09b-b793754ac436",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests",
                                                        "01a1c4e0-b53e-7037-b09b-b793754ac436"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "change_request_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "change_request_id",
                                                "set_by": [
                                                    "admin.providers.change-requests.index",
                                                    "admin.drivers.change-requests.index",
                                                    "provider.profile.change-requests.index",
                                                    "provider.profile.change-requests.store",
                                                    "provider.profile.change-requests.show",
                                                    "delivery.profile.change-requests.index",
                                                    "delivery.profile.change-requests.store",
                                                    "delivery.profile.change-requests.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Cancel",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"change_request_id\",\"Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/profile/change-requests/:changeRequest/cancel",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "profile",
                                                "change-requests",
                                                ":changeRequest",
                                                "cancel"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "changeRequest",
                                                    "value": "{{change_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.profile.change-requests.cancel`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{change_request_id}}` — Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Pending request cancelled\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b53e-7037-b09b-b793754ac436\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b513-73f2-a42d-2ebb39fe6e97\",\n                    \"name\": \"Sample-reii95340692\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b523-7035-be8e-540cc1378d56\",\n                    \"name\": \"Sample-bqjo61387373\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b519-7053-ae33-8ee056ffcf3e\",\n                        \"name\": \"Sample-lhnt18133576\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b527-720e-a0e1-9d73f8b95c2a\",\n                        \"name\": \"Sample-bxum36797732\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n        \"reviewed_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Pending request cancelled",
                                            "_joshen": {
                                                "route": "provider.profile.change-requests.cancel",
                                                "name": "Pending request cancelled",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/profile/change-requests/01a1c4e0-b53e-7037-b09b-b793754ac436/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_she_lists_reads_and_cancels_only_her_own_requests"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests/01a1c4e0-b53e-7037-b09b-b793754ac436/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests",
                                                        "01a1c4e0-b53e-7037-b09b-b793754ac436",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-b53e-7037-b09b-b793754ac436\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": {\n                    \"id\": \"01a1c4e0-b513-73f2-a42d-2ebb39fe6e97\",\n                    \"name\": \"Sample-reii95340692\"\n                },\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-b523-7035-be8e-540cc1378d56\",\n                    \"name\": \"Sample-bqjo61387373\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [\n                    {\n                        \"id\": \"01a1c4e0-b519-7053-ae33-8ee056ffcf3e\",\n                        \"name\": \"Sample-lhnt18133576\"\n                    }\n                ],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-b527-720e-a0e1-9d73f8b95c2a\",\n                        \"name\": \"Sample-bxum36797732\"\n                    }\n                ]\n            },\n            {\n                \"field\": \"service_radius_km\",\n                \"label\": \"Service radius (km)\",\n                \"current\": 10,\n                \"proposed\": 20\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:43+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests/:changeRequest/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests/:changeRequest/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/profile/change-requests/:changeRequest/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "change_request_id",
                                                "set_by": [
                                                    "admin.providers.change-requests.index",
                                                    "admin.drivers.change-requests.index",
                                                    "provider.profile.change-requests.index",
                                                    "provider.profile.change-requests.store",
                                                    "provider.profile.change-requests.show",
                                                    "delivery.profile.change-requests.index",
                                                    "delivery.profile.change-requests.store",
                                                    "delivery.profile.change-requests.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Communication",
                    "item": [
                        {
                            "name": "Notifications",
                            "item": [
                                {
                                    "name": "Device",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/notifications/device",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "notifications",
                                                "device"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.notifications.device`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `device_token`\n- **Description:** Device token _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|string|max:4096`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n### `device_type`\n- **Description:** Device type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `ios`, `android`, `huawei`\n- **Required:** required\n- **Example:** `ios`\n- **Validation rules:** `required|in:ios,android,huawei`\n- `required` — must be provided.\n- `in:ios,android,huawei` — must be one of: ios, android, huawei.\n### `app_version`\n- **Description:** App version _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `nullable|string|max:20`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `device_id`\n- **Description:** Device id _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Device\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Device registered.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Device",
                                            "_joshen": {
                                                "route": "provider.notifications.device",
                                                "name": "Device",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/notifications/device",
                                                    "query": null,
                                                    "body": {
                                                        "device_token": "fcm-rotated",
                                                        "device_type": "android",
                                                        "app_version": "2.0.0"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_device_refresh_upserts_this_app_registration"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-rotated\",\n    \"device_type\": \"android\",\n    \"app_version\": \"2.0.0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Device registered.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "notifications",
                                                "preferences",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.notifications.preferences.categories.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Provider app is independent\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": false,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider app is independent",
                                            "_joshen": {
                                                "route": "provider.notifications.preferences.categories.show",
                                                "name": "Provider app is independent",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_prov_025_and_ac_driv_018_settings_are_isolated_per_app"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": false,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "notifications",
                                                "preferences",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.notifications.preferences.categories.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `categories`\n- **Description:** Switches to change, keyed by category: orders, payments, chat, offers or account. Categories and fields left out stay unchanged (DEC-13).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"orders\":{\"push_enabled\":false},\"0\":{\"push_enabled\":false,\"sms_enabled\":true}}`\n- **Validation rules:** `sometimes|array:orders,payments,chat,offers,account|min:1`\n- `sometimes` — validated only when the field is present.\n- `array:orders,payments,chat,offers,account` — must be an array.\n- `min:1` — must be at least 1.\n### `categories.*`\n- **Description:** Switches of one category; send at least one of the two fields.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"push_enabled\":false,\"sms_enabled\":true}`\n- **Validation rules:** `sometimes|array:push_enabled,sms_enabled`\n- `sometimes` — validated only when the field is present.\n- `array:push_enabled,sms_enabled` — must be an array.\n### `categories.*.push_enabled`\n- **Description:** Whether push notifications of this category reach this app. The inbox row is always written.\n- **Type:** `boolean`\n- **Required:** conditional\n- **Example:** `false`\n- **Validation rules:** `required_without:categories.*.sms_enabled|boolean`\n- `required_without:categories.*.sms_enabled` — required when categories.*.sms_enabled is missing.\n- `boolean` — must be true, false, 1, or 0.\n### `categories.*.sms_enabled`\n- **Description:** Stored for the day SMS notifications exist; it has no effect yet because the SMS provider is open (DEC-15).\n- **Type:** `boolean`\n- **Required:** conditional\n- **Example:** `true`\n- **Validation rules:** `required_without:categories.*.push_enabled|boolean`\n- `required_without:categories.*.push_enabled` — required when categories.*.push_enabled is missing.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Provider switches payments push off\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Switch is not a boolean\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Preferences updated\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": false,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider switches payments push off",
                                            "_joshen": {
                                                "route": "provider.notifications.preferences.categories.update",
                                                "name": "Provider switches payments push off",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": {
                                                        "categories": {
                                                            "payments": {
                                                                "push_enabled": false
                                                            }
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_prov_025_and_ac_driv_018_settings_are_isolated_per_app"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"payments\": {\n            \"push_enabled\": false\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Preferences updated\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": false,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Switch is not a boolean",
                                            "_joshen": {
                                                "route": "provider.notifications.preferences.categories.update",
                                                "name": "Switch is not a boolean",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": {
                                                        "categories": {
                                                            "chat": {
                                                                "push_enabled": "maybe"
                                                            }
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_cust_022_validation_errors"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"chat\": {\n            \"push_enabled\": \"maybe\"\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The categories.chat.push_enabled field must be true or false.\",\n    \"data\": {\n        \"errors\": {\n            \"categories.chat.push_enabled\": [\n                \"The categories.chat.push_enabled field must be true or false.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "General",
                    "item": [
                        {
                            "name": "Onboarding",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/onboarding",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "onboarding"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.onboarding.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Activated provider with approved registration categories\n- `200` Active base remains incomplete when choices are missing\n- `200` Arabic incomplete onboarding\n- `200` Establishment under review\n- `200` Extra requested category remains visible in onboarding\n- `200` Inactive group does not block complete pricing\n- `200` Incomplete onboarding checklist\n- `200` Individual under review\n- `200` needs_changes resubmission enabled\n- `200` rejected resubmission disabled\n- `200` rejected resubmission enabled\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e60f-73ae-9aaf-3113dd0a8c44\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:08+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"completed\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Onboarding Fixture\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e615-71e9-84ac-19075cb87a1a\",\n                \"name\": \"Sample-ywxx34715213\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e636-7374-aa79-87b5ccfd2bd1\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/uploads/file/08e98b0f-b35f-4b1b-9a28-24c16afed34b.webp\"\n            },\n            {\n                \"id\": \"01a17208-e63b-7165-b272-e73815b85e58\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/onboarding/a09cb535-7df8-44c1-8571-16b6511b4fb3.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e63f-71cc-805b-6b00a7a4a080\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/onboarding/64224f40-6158-4436-bdc2-a4fc5f3b5c99.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Activated provider with approved registration categories",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "Activated provider with approved registration categories",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_otp_registration_upload_submission_and_approval_cycle"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e60f-73ae-9aaf-3113dd0a8c44\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:08+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"completed\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Onboarding Fixture\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e615-71e9-84ac-19075cb87a1a\",\n                \"name\": \"Sample-ywxx34715213\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e636-7374-aa79-87b5ccfd2bd1\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/uploads/file/08e98b0f-b35f-4b1b-9a28-24c16afed34b.webp\"\n            },\n            {\n                \"id\": \"01a17208-e63b-7165-b272-e73815b85e58\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/onboarding/a09cb535-7df8-44c1-8571-16b6511b4fb3.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e63f-71cc-805b-6b00a7a4a080\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/onboarding/64224f40-6158-4436-bdc2-a4fc5f3b5c99.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Active base remains incomplete when choices are missing",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "Active base remains incomplete when choices are missing",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_enable_requires_all_active_choice_prices_and_checklist_uses_same_rule"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d8bc-7397-a6b1-191297fab86c\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"completed\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Darlene Fadel\",\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17221-d8c2-7220-9dce-0e7daff32de4\",\n                \"name\": \"Sample-kpyo28221369\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                }\n            }\n        ],\n        \"documents\": [],\n        \"missing_for_submission\": [\n            \"national_id\",\n            \"years_experience\",\n            \"experience_note\",\n            \"documents.national_id\",\n            \"documents.professional_certificate\",\n            \"documents.health_certificate\"\n        ],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Arabic incomplete onboarding",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "Arabic incomplete onboarding",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "ar",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_arabic_status_and_missing_messages"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e5cc-70a7-bffe-b8eca41fb1c2\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"غير مكتمل\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"استلام الطلب\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"التحقق من الشهادات\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"تفعيل الملف\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"فردية\"\n        },\n        \"display_name\": \"Andrew Rolfson\",\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"categories\": [],\n        \"documents\": [],\n        \"missing_for_submission\": [\n            \"national_id\",\n            \"years_experience\",\n            \"experience_note\",\n            \"categories\",\n            \"documents.national_id\",\n            \"documents.professional_certificate\",\n            \"documents.health_certificate\"\n        ],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Establishment under review",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "Establishment under review",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_happy_path_saves_and_submits_step_two"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d7c1-714a-a294-3625d4635b92\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:04+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"establishment\",\n            \"label\": \"Establishment\"\n        },\n        \"display_name\": \"Oren Emard\",\n        \"national_id\": null,\n        \"commercial_register_no\": \"****1234\",\n        \"vat_number\": null,\n        \"authorized_person_name\": \"Noura\",\n        \"authorized_person_phone\": \"+966512345678\",\n        \"years_experience\": 4,\n        \"experience_note\": null,\n        \"specialists_count\": 8,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-d7c6-7061-9ff1-9ce3bcf8493f\",\n                \"name\": \"Sample-ofov25957044\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-d7e3-713e-bcaf-ee1b6debd03c\",\n                \"doc_type\": {\n                    \"value\": \"commercial_register\",\n                    \"label\": \"Commercial register\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f300f33f-c62d-45e4-bd92-c79a4f362535.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7e8-719a-bcf6-ffa36b5ad8fe\",\n                \"doc_type\": {\n                    \"value\": \"business_license\",\n                    \"label\": \"Business license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a3fefd76-04f3-4ccc-acc9-be8e897aea2f.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7ed-70e0-a992-f2b1fd6b24d1\",\n                \"doc_type\": {\n                    \"value\": \"staff_health_certificates\",\n                    \"label\": \"Staff health certificates\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/e1899fec-1d7b-4d39-bd3b-0e094a7656bf.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Extra requested category remains visible in onboarding",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "Extra requested category remains visible in onboarding",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_extra_category_request_and_owned_category_toggle"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d9e4-71c8-8a6e-4792cc3d3704\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"completed\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Ms. Linnie Will V\",\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17221-d9e8-721e-ba16-adc17abba445\",\n                \"name\": \"Sample-xiqf75410814\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                }\n            },\n            {\n                \"id\": \"01a17221-d9fb-71cd-89b2-3998167b83f1\",\n                \"name\": \"Sample-exxq37054973\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [],\n        \"missing_for_submission\": [\n            \"national_id\",\n            \"years_experience\",\n            \"experience_note\",\n            \"documents.national_id\",\n            \"documents.professional_certificate\",\n            \"documents.health_certificate\"\n        ],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Inactive group does not block complete pricing",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "Inactive group does not block complete pricing",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_enable_requires_all_active_choice_prices_and_checklist_uses_same_rule"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d8bc-7397-a6b1-191297fab86c\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"completed\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Darlene Fadel\",\n        \"national_id\": null,\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": null,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17221-d8c2-7220-9dce-0e7daff32de4\",\n                \"name\": \"Sample-kpyo28221369\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Approved\"\n                }\n            }\n        ],\n        \"documents\": [],\n        \"missing_for_submission\": [\n            \"national_id\",\n            \"years_experience\",\n            \"experience_note\",\n            \"documents.national_id\",\n            \"documents.professional_certificate\",\n            \"documents.health_certificate\"\n        ],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Incomplete onboarding checklist",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "Incomplete onboarding checklist",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_partial_draft_masks_values_and_preserves_omitted_fields"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d878-72a2-ab79-8e7657e26248\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Olen Legros II\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 0,\n        \"experience_note\": null,\n        \"specialists_count\": null,\n        \"categories\": [],\n        \"documents\": [],\n        \"missing_for_submission\": [\n            \"experience_note\",\n            \"categories\",\n            \"documents.national_id\",\n            \"documents.professional_certificate\",\n            \"documents.health_certificate\"\n        ],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Individual under review",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "Individual under review",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_happy_path_saves_and_submits_step_two"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d735-7068-ba2f-5901bab33d81\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:04+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Merl Kunde DDS\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-d739-7395-963e-5e860303fdef\",\n                \"name\": \"Sample-wbih73037956\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-d757-73c1-9b99-29332ea034b9\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a2c6ec11-4eb5-4619-a967-11536da61ffe.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d75d-71a6-b8fc-85141387cd80\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/d26f98fb-a96b-4354-87d6-10f57841d973.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d762-727d-9d60-cb2c97cfd777\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/1587fb47-31ca-463c-b6ad-4a2591680e40.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 needs_changes resubmission enabled",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "needs_changes resubmission enabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e033-70e9-8019-936ccb27f989\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Please correct details\",\n        \"submitted_at\": \"2026-10-24T07:49:06+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Mrs. Daija Mertz\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e038-73fd-9446-1bcc87f46704\",\n                \"name\": \"Sample-isxt79028076\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e057-721a-b17b-43a4a2692670\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/150fc182-69a4-4080-9f32-e9402ea22e80.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e05c-712f-8557-ca1a1c3d40ba\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c2d30fee-ef42-4918-8833-5e60a4dd9d94.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e060-71f2-bfc5-3e3da3638a84\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/d31614b1-8ffb-4887-8ab3-13b7cb7f97b4.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 rejected resubmission disabled",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "rejected resubmission disabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e21a-73a5-aeca-bafae5a5992d\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Please correct details\",\n        \"submitted_at\": \"2026-10-24T07:49:07+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Geovanni Cronin III\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e21f-71a8-8707-bd8777540492\",\n                \"name\": \"Sample-xdox03448342\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e239-73f4-ab81-0f394300d7e5\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/b875651e-8de7-4946-88bb-17a6023203d1.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e23e-722b-b176-4a1b166dc83b\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/477742c5-20f1-45a3-b621-48a197df1d10.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e242-7351-b27e-29653c11636e\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/0bbb7d93-da0f-46e3-9990-802537ed02a3.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 rejected resubmission enabled",
                                            "_joshen": {
                                                "route": "provider.onboarding.show",
                                                "name": "rejected resubmission enabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e16a-713e-9a0b-d0ddc7c29c0b\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Please correct details\",\n        \"submitted_at\": \"2026-10-24T07:49:07+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Prof. Rosetta O'Kon DVM\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e177-723a-bc66-c404f9241f73\",\n                \"name\": \"Sample-ynns61975790\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e193-7319-ae8c-9b4df9eb4796\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/758d1b62-3718-451e-a309-0ac44097e53e.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e198-7009-b762-da690faf1312\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a31785a0-5ff1-48bd-978b-361e4dc3ad6b.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e19d-719c-bf2b-0ed4f182ec7c\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/19d656e5-4cfc-4200-bba0-72f6d82ab84e.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/onboarding",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "onboarding"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.onboarding.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `national_id`\n- **Description:** Individual national ID/iqama. Returned masked; omit to preserve, null to clear.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1000001234`\n- **Validation rules:** `sometimes|nullable|string|max:20`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `commercial_register_no`\n- **Description:** Establishment CR number. Returned masked; required on submit.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1010001234`\n- **Validation rules:** `sometimes|nullable|string|max:20`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `vat_number`\n- **Description:** Optional establishment VAT number, returned masked.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `300000000001234`\n- **Validation rules:** `sometimes|nullable|string|max:20`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `authorized_person_name`\n- **Description:** Establishment authorized signatory name (SCR-18).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Noura`\n- **Validation rules:** `sometimes|nullable|string|max:150`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `authorized_person_phone`\n- **Description:** Establishment responsible person phone (PROV-002).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `+966512345678`\n- **Validation rules:** `sometimes|nullable|string|max:20`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `years_experience`\n- **Description:** Individual experience years or establishment years active (SCR-18).\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `4`\n- **Validation rules:** `sometimes|nullable|integer|between:0,32767`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `between:0,32767` — must be between 0, 32767.\n### `experience_note`\n- **Description:** Individual employer/experience description; required on submit.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Four years at a beauty centre`\n- **Validation rules:** `sometimes|nullable|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `specialists_count`\n- **Description:** Establishment specialist count; informational only, no staff accounts (D4).\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `8`\n- **Validation rules:** `sometimes|nullable|integer|between:0,32767`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `between:0,32767` — must be between 0, 32767.\n### `categories`\n- **Description:** Replace the selected main categories; empty allowed in a draft. Omit to preserve.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{category_id}}\"]`\n- **Validation rules:** `sometimes|array|list`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `categories.*`\n- **Description:** Public UUID of an active categories row returned by GET /provider/categories.\n- **Type:** `string (uuid)`\n- **Refers to:** a `categories` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{category_id}}`\n- **Validation rules:** `sometimes|distinct|uuid|exists:categories,uuid`\n- `sometimes` — validated only when the field is present.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:categories,uuid` — must reference an existing record (categories, uuid).\n### `documents`\n- **Description:** Fresh replacement uploads; omit to preserve saved documents.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[{\"doc_type\":\"national_id\",\"file\":\"{{media_hash}}\",\"doc_number\":\"1000001234\",\"expires_at\":\"2027-12-31\"}]`\n- **Validation rules:** `sometimes|array|list`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `documents.*`\n- **Description:** One document type, fresh file hash and optional document number/expiry.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"doc_type\":\"national_id\",\"file\":\"{{media_hash}}\",\"doc_number\":\"1000001234\",\"expires_at\":\"2027-12-31\"}`\n- **Validation rules:** `sometimes|array:doc_type,file,doc_number,expires_at`\n- `sometimes` — validated only when the field is present.\n- `array:doc_type,file,doc_number,expires_at` — must be an array.\n### `documents.*.doc_type`\n- **Description:** Required document type for the registered provider type (SCR-18/TD-59).\n- **Type:** `string (enum)`\n- **Allowed values:** `national_id`, `professional_certificate`, `health_certificate`, `commercial_register`, `business_license`, `staff_health_certificates`\n- **Required:** optional\n- **Example:** `national_id`\n- **Validation rules:** `sometimes|string|distinct|in:\"national_id\",\"professional_certificate\",\"health_certificate\",\"commercial_register\",\"business_license\",\"staff_health_certificates\"`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `in:\"national_id\",\"professional_certificate\",\"health_certificate\",\"commercial_register\",\"business_license\",\"staff_health_certificates\"` — must be one of: \"national_id\", \"professional_certificate\", \"health_certificate\", \"commercial_register\", \"business_license\", \"staff_health_certificates\".\n### `documents.*.file`\n- **Description:** Fresh unattached media hash from POST /api/v1/media; image or PDF up to 5 MiB. Existing document row becomes replaced.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `sometimes|string|distinct|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `documents.*.doc_number`\n- **Description:** Saved document number; returned masked under TD-51.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1000001234`\n- **Validation rules:** `sometimes|nullable|string|max:50`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:50` — must not exceed 50.\n### `documents.*.expires_at`\n- **Description:** Date-only expiry, nullable. Expired drafts save but cannot submit.\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2027-12-31`\n- **Validation rules:** `sometimes|nullable|date_format:Y-m-d`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date_format:Y-m-d` — must match the date format Y-m-d.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `200` Establishment complete draft\n- `200` Identity document replacement with preserved history\n- `200` Individual complete draft\n- `200` Partial draft saved with masked identity\n- `200` needs_changes draft allowed\n- `200` rejected draft allowed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Account approved cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` Account pending_review cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` Account suspended cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` rejected draft denied — `error_code: INVALID_STATE_TRANSITION`\n- `422` Already attached file rejected\n- `422` Another uploader file cannot be attached — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Inactive category cannot be selected — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid category reference integer id\n- `422` Invalid category reference malformed uuid\n- `422` Invalid category reference unknown uuid\n- `422` Invalid step-two fields and document shape\n- `422` Submitted establishment must retain CR number — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Wrong provider-type document rejected — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d7c1-714a-a294-3625d4635b92\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"establishment\",\n            \"label\": \"Establishment\"\n        },\n        \"display_name\": \"Oren Emard\",\n        \"national_id\": null,\n        \"commercial_register_no\": \"****1234\",\n        \"vat_number\": null,\n        \"authorized_person_name\": \"Noura\",\n        \"authorized_person_phone\": \"+966512345678\",\n        \"years_experience\": 4,\n        \"experience_note\": null,\n        \"specialists_count\": 8,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-d7c6-7061-9ff1-9ce3bcf8493f\",\n                \"name\": \"Sample-ofov25957044\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-d7e3-713e-bcaf-ee1b6debd03c\",\n                \"doc_type\": {\n                    \"value\": \"commercial_register\",\n                    \"label\": \"Commercial register\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f300f33f-c62d-45e4-bd92-c79a4f362535.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7e8-719a-bcf6-ffa36b5ad8fe\",\n                \"doc_type\": {\n                    \"value\": \"business_license\",\n                    \"label\": \"Business license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a3fefd76-04f3-4ccc-acc9-be8e897aea2f.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7ed-70e0-a992-f2b1fd6b24d1\",\n                \"doc_type\": {\n                    \"value\": \"staff_health_certificates\",\n                    \"label\": \"Staff health certificates\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/e1899fec-1d7b-4d39-bd3b-0e094a7656bf.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"national_id\": \"1000001234\",\n    \"commercial_register_no\": \"1010001234\",\n    \"vat_number\": \"300000000001234\",\n    \"authorized_person_name\": \"Noura\",\n    \"authorized_person_phone\": \"+966512345678\",\n    \"years_experience\": 4,\n    \"experience_note\": \"Four years at a beauty centre\",\n    \"specialists_count\": 8,\n    \"categories\": [\n        \"{{category_id}}\"\n    ],\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"{{media_hash}}\",\n            \"doc_number\": \"1000001234\",\n            \"expires_at\": \"2027-12-31\"\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Establishment complete draft",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Establishment complete draft",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 4,
                                                        "categories": [
                                                            "01a17208-d7c6-7061-9ff1-9ce3bcf8493f"
                                                        ],
                                                        "documents": [
                                                            {
                                                                "doc_type": "commercial_register",
                                                                "file": "f300f33f-c62d-45e4-bd92-c79a4f362535",
                                                                "doc_number": "1000001234"
                                                            },
                                                            {
                                                                "doc_type": "business_license",
                                                                "file": "a3fefd76-04f3-4ccc-acc9-be8e897aea2f",
                                                                "doc_number": "1000001234"
                                                            },
                                                            {
                                                                "doc_type": "staff_health_certificates",
                                                                "file": "e1899fec-1d7b-4d39-bd3b-0e094a7656bf",
                                                                "doc_number": "1000001234"
                                                            }
                                                        ],
                                                        "commercial_register_no": "1010001234",
                                                        "authorized_person_name": "Noura",
                                                        "authorized_person_phone": "+966512345678",
                                                        "specialists_count": 8
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_happy_path_saves_and_submits_step_two"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 4,\n    \"categories\": [\n        \"01a17208-d7c6-7061-9ff1-9ce3bcf8493f\"\n    ],\n    \"documents\": [\n        {\n            \"doc_type\": \"commercial_register\",\n            \"file\": \"f300f33f-c62d-45e4-bd92-c79a4f362535\",\n            \"doc_number\": \"1000001234\"\n        },\n        {\n            \"doc_type\": \"business_license\",\n            \"file\": \"a3fefd76-04f3-4ccc-acc9-be8e897aea2f\",\n            \"doc_number\": \"1000001234\"\n        },\n        {\n            \"doc_type\": \"staff_health_certificates\",\n            \"file\": \"e1899fec-1d7b-4d39-bd3b-0e094a7656bf\",\n            \"doc_number\": \"1000001234\"\n        }\n    ],\n    \"commercial_register_no\": \"1010001234\",\n    \"authorized_person_name\": \"Noura\",\n    \"authorized_person_phone\": \"+966512345678\",\n    \"specialists_count\": 8\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d7c1-714a-a294-3625d4635b92\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"establishment\",\n            \"label\": \"Establishment\"\n        },\n        \"display_name\": \"Oren Emard\",\n        \"national_id\": null,\n        \"commercial_register_no\": \"****1234\",\n        \"vat_number\": null,\n        \"authorized_person_name\": \"Noura\",\n        \"authorized_person_phone\": \"+966512345678\",\n        \"years_experience\": 4,\n        \"experience_note\": null,\n        \"specialists_count\": 8,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-d7c6-7061-9ff1-9ce3bcf8493f\",\n                \"name\": \"Sample-ofov25957044\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-d7e3-713e-bcaf-ee1b6debd03c\",\n                \"doc_type\": {\n                    \"value\": \"commercial_register\",\n                    \"label\": \"Commercial register\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f300f33f-c62d-45e4-bd92-c79a4f362535.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7e8-719a-bcf6-ffa36b5ad8fe\",\n                \"doc_type\": {\n                    \"value\": \"business_license\",\n                    \"label\": \"Business license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a3fefd76-04f3-4ccc-acc9-be8e897aea2f.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7ed-70e0-a992-f2b1fd6b24d1\",\n                \"doc_type\": {\n                    \"value\": \"staff_health_certificates\",\n                    \"label\": \"Staff health certificates\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/e1899fec-1d7b-4d39-bd3b-0e094a7656bf.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Identity document replacement with preserved history",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Identity document replacement with preserved history",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "31f0f5ee-b888-409a-9f6d-04b50c5ef637",
                                                                "doc_number": "1999999876"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_document_replacement_preserves_old_row_and_file"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"31f0f5ee-b888-409a-9f6d-04b50c5ef637\",\n            \"doc_number\": \"1999999876\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e28e-7262-a070-54837773b0c1\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Daniella Fadel\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e294-724a-881f-729f9414f5d5\",\n                \"name\": \"Sample-nkfj81266552\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e2b2-738b-b9eb-0451d145c842\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"replaced\",\n                    \"label\": \"Replaced\"\n                },\n                \"file_url\": \"/storage/onboarding/5b1021db-c799-43c1-9d6d-28afd6595a71.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e2b7-731d-b875-24042de2e2a1\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/429db7b5-89fd-489f-9999-b9dd7e10f817.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e2bc-7396-9125-4bff76252cbe\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/6a60e909-b14e-4930-84c4-81f30e2b8138.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e2e0-703c-8172-dc5b07d659e4\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****9876\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/31f0f5ee-b888-409a-9f6d-04b50c5ef637.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Individual complete draft",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Individual complete draft",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 4,
                                                        "categories": [
                                                            "01a17208-d739-7395-963e-5e860303fdef"
                                                        ],
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "a2c6ec11-4eb5-4619-a967-11536da61ffe",
                                                                "doc_number": "1000001234"
                                                            },
                                                            {
                                                                "doc_type": "professional_certificate",
                                                                "file": "d26f98fb-a96b-4354-87d6-10f57841d973",
                                                                "doc_number": "1000001234"
                                                            },
                                                            {
                                                                "doc_type": "health_certificate",
                                                                "file": "1587fb47-31ca-463c-b6ad-4a2591680e40",
                                                                "doc_number": "1000001234"
                                                            }
                                                        ],
                                                        "national_id": "1000001234",
                                                        "experience_note": "Four years at a beauty centre"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_happy_path_saves_and_submits_step_two"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 4,\n    \"categories\": [\n        \"01a17208-d739-7395-963e-5e860303fdef\"\n    ],\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"a2c6ec11-4eb5-4619-a967-11536da61ffe\",\n            \"doc_number\": \"1000001234\"\n        },\n        {\n            \"doc_type\": \"professional_certificate\",\n            \"file\": \"d26f98fb-a96b-4354-87d6-10f57841d973\",\n            \"doc_number\": \"1000001234\"\n        },\n        {\n            \"doc_type\": \"health_certificate\",\n            \"file\": \"1587fb47-31ca-463c-b6ad-4a2591680e40\",\n            \"doc_number\": \"1000001234\"\n        }\n    ],\n    \"national_id\": \"1000001234\",\n    \"experience_note\": \"Four years at a beauty centre\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d735-7068-ba2f-5901bab33d81\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Merl Kunde DDS\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-d739-7395-963e-5e860303fdef\",\n                \"name\": \"Sample-wbih73037956\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-d757-73c1-9b99-29332ea034b9\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a2c6ec11-4eb5-4619-a967-11536da61ffe.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d75d-71a6-b8fc-85141387cd80\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/d26f98fb-a96b-4354-87d6-10f57841d973.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d762-727d-9d60-cb2c97cfd777\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/1587fb47-31ca-463c-b6ad-4a2591680e40.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Partial draft saved with masked identity",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Partial draft saved with masked identity",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 0,
                                                        "experience_note": "First employer",
                                                        "account_status": "approved",
                                                        "approved_by": 1
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_partial_draft_masks_values_and_preserves_omitted_fields"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 0,\n    \"experience_note\": \"First employer\",\n    \"account_status\": \"approved\",\n    \"approved_by\": 1\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d878-72a2-ab79-8e7657e26248\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Olen Legros II\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 0,\n        \"experience_note\": \"First employer\",\n        \"specialists_count\": null,\n        \"categories\": [],\n        \"documents\": [],\n        \"missing_for_submission\": [\n            \"categories\",\n            \"documents.national_id\",\n            \"documents.professional_certificate\",\n            \"documents.health_certificate\"\n        ],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 needs_changes draft allowed",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "needs_changes draft allowed",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 5
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 5\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e033-70e9-8019-936ccb27f989\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Please correct details\",\n        \"submitted_at\": \"2026-10-24T07:49:06+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Mrs. Daija Mertz\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 5,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e038-73fd-9446-1bcc87f46704\",\n                \"name\": \"Sample-isxt79028076\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e057-721a-b17b-43a4a2692670\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/150fc182-69a4-4080-9f32-e9402ea22e80.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e05c-712f-8557-ca1a1c3d40ba\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c2d30fee-ef42-4918-8833-5e60a4dd9d94.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e060-71f2-bfc5-3e3da3638a84\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/d31614b1-8ffb-4887-8ab3-13b7cb7f97b4.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 rejected draft allowed",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "rejected draft allowed",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 5
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 5\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e16a-713e-9a0b-d0ddc7c29c0b\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Please correct details\",\n        \"submitted_at\": \"2026-10-24T07:49:07+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Prof. Rosetta O'Kon DVM\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 5,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e177-723a-bc66-c404f9241f73\",\n                \"name\": \"Sample-ynns61975790\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e193-7319-ae8c-9b4df9eb4796\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/758d1b62-3718-451e-a309-0ac44097e53e.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e198-7009-b762-da690faf1312\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a31785a0-5ff1-48bd-978b-361e4dc3ad6b.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e19d-719c-bf2b-0ed4f182ec7c\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/19d656e5-4cfc-4200-bba0-72f6d82ab84e.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"national_id\": \"1000001234\",\n    \"commercial_register_no\": \"1010001234\",\n    \"vat_number\": \"300000000001234\",\n    \"authorized_person_name\": \"Noura\",\n    \"authorized_person_phone\": \"+966512345678\",\n    \"years_experience\": 4,\n    \"experience_note\": \"Four years at a beauty centre\",\n    \"specialists_count\": 8,\n    \"categories\": [\n        \"{{category_id}}\"\n    ],\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"{{media_hash}}\",\n            \"doc_number\": \"1000001234\",\n            \"expires_at\": \"2027-12-31\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"national_id\": \"1000001234\",\n    \"commercial_register_no\": \"1010001234\",\n    \"vat_number\": \"300000000001234\",\n    \"authorized_person_name\": \"Noura\",\n    \"authorized_person_phone\": \"+966512345678\",\n    \"years_experience\": 4,\n    \"experience_note\": \"Four years at a beauty centre\",\n    \"specialists_count\": 8,\n    \"categories\": [\n        \"{{category_id}}\"\n    ],\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"{{media_hash}}\",\n            \"doc_number\": \"1000001234\",\n            \"expires_at\": \"2027-12-31\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Account approved cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Account approved cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 8
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_locked_states_cannot_edit_or_submit"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 8\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"5f203d5b-628d-4b8e-a872-38415fc3fe0f\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Account pending_review cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Account pending_review cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 8
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_locked_states_cannot_edit_or_submit"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 8\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"c40105f1-ae2e-4cb4-ad39-15c7692339d4\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Account suspended cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Account suspended cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 8
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_locked_states_cannot_edit_or_submit"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 8\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Suspended.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"242b573d-0995-46a1-b1ce-c36d0029307e\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 rejected draft denied",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "rejected draft denied",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": 5
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": 5\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Rejected.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"295dbd83-2768-4463-9caf-8fc26f2ebe65\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Already attached file rejected",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Already attached file rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "2aebe1d9-7e71-4ad0-ac1a-80a9fb284399"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_attached_hash_and_duplicate_document_types_fail_validation"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"2aebe1d9-7e71-4ad0-ac1a-80a9fb284399\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The media file is already associated with another record.\",\n    \"data\": {\n        \"errors\": {\n            \"documents.0.file\": [\n                \"The media file is already associated with another record.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Another uploader file cannot be attached",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Another uploader file cannot be attached",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "f44520c6-f1c5-485c-97eb-5757070b9405"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_foreign_upload_and_inactive_category_are_domain_errors"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"f44520c6-f1c5-485c-97eb-5757070b9405\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use active categories, your own fresh image/PDF uploads up to 5 MiB, and the document types for your provider type. A submitted establishment must retain its commercial register number.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use active categories, your own fresh image/PDF uploads up to 5 MiB, and the document types for your provider type. A submitted establishment must retain its commercial register number.\"\n            ]\n        },\n        \"correlation_id\": \"f978a9ad-a72f-4ff0-8d76-b450f1e3e30e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive category cannot be selected",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Inactive category cannot be selected",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "categories": [
                                                            "01a17208-e3d3-72b9-8a3c-9be17d28ea6a"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_foreign_upload_and_inactive_category_are_domain_errors"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": [\n        \"01a17208-e3d3-72b9-8a3c-9be17d28ea6a\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use active categories, your own fresh image/PDF uploads up to 5 MiB, and the document types for your provider type. A submitted establishment must retain its commercial register number.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use active categories, your own fresh image/PDF uploads up to 5 MiB, and the document types for your provider type. A submitted establishment must retain its commercial register number.\"\n            ]\n        },\n        \"correlation_id\": \"ccf903b9-8dad-414c-b4da-5a41bf97c0c5\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid category reference integer id",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Invalid category reference integer id",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "categories": [
                                                            "195"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_003_draft_selection_replacement_and_uuid_validation"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": [\n        \"195\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The categories.0 field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"categories.0\": [\n                \"The categories.0 field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid category reference malformed uuid",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Invalid category reference malformed uuid",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "categories": [
                                                            "bad-uuid"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_003_draft_selection_replacement_and_uuid_validation"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": [\n        \"bad-uuid\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The categories.0 field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"categories.0\": [\n                \"The categories.0 field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid category reference unknown uuid",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Invalid category reference unknown uuid",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "categories": [
                                                            "a5ce3bd1-eddc-4392-a43c-a7db20ef6a8a"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_003_draft_selection_replacement_and_uuid_validation"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": [\n        \"a5ce3bd1-eddc-4392-a43c-a7db20ef6a8a\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected categories.0 is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"categories.0\": [\n                \"The selected categories.0 is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid step-two fields and document shape",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Invalid step-two fields and document shape",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "years_experience": -1,
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "reviewed_by": 1
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_invalid_draft_shape_returns_validation_error"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"years_experience\": -1,\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"reviewed_by\": 1\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The years experience field must be between 0 and 32767. (and 2 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"years_experience\": [\n                \"The years experience field must be between 0 and 32767.\"\n            ],\n            \"documents.0\": [\n                \"The documents.0 field must be an array.\"\n            ],\n            \"documents.0.file\": [\n                \"The documents.0.file field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Submitted establishment must retain CR number",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Submitted establishment must retain CR number",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "commercial_register_no": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_submitted_establishment_cannot_clear_commercial_register"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"commercial_register_no\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use active categories, your own fresh image/PDF uploads up to 5 MiB, and the document types for your provider type. A submitted establishment must retain its commercial register number.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use active categories, your own fresh image/PDF uploads up to 5 MiB, and the document types for your provider type. A submitted establishment must retain its commercial register number.\"\n            ]\n        },\n        \"correlation_id\": \"a7b32b89-c841-43f1-aa74-aad43a506326\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Wrong provider-type document rejected",
                                            "_joshen": {
                                                "route": "provider.onboarding.update",
                                                "name": "Wrong provider-type document rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "documents": [
                                                            {
                                                                "doc_type": "commercial_register",
                                                                "file": "7906bda6-3d56-4b1c-bd15-edbbdfc36e6c"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_wrong_document_type_is_rejected"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"documents\": [\n        {\n            \"doc_type\": \"commercial_register\",\n            \"file\": \"7906bda6-3d56-4b1c-bd15-edbbdfc36e6c\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use active categories, your own fresh image/PDF uploads up to 5 MiB, and the document types for your provider type. A submitted establishment must retain its commercial register number.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use active categories, your own fresh image/PDF uploads up to 5 MiB, and the document types for your provider type. A submitted establishment must retain its commercial register number.\"\n            ]\n        },\n        \"correlation_id\": \"7a029f2f-f4fe-4412-bc1a-cafad875a93d\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Submit",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "onboarding",
                                                "submit"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.onboarding.submit`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Establishment submitted for review\n- `200` Individual submitted for review\n- `200` needs_changes submit allowed\n- `200` rejected submit allowed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Account approved cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` Account pending_review cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` Account suspended cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` rejected submit denied — `error_code: INVALID_STATE_TRANSITION`\n- `422` All step-two prerequisites missing — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Arabic missing step-two requirements — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit document date — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit document expired — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit document file — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit document missing — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit document rejected — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit document replaced — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit document role — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category was deactivated — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Select at least one category — `error_code: BUSINESS_RULE_VIOLATED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d7c1-714a-a294-3625d4635b92\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:04+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"establishment\",\n            \"label\": \"Establishment\"\n        },\n        \"display_name\": \"Oren Emard\",\n        \"national_id\": null,\n        \"commercial_register_no\": \"****1234\",\n        \"vat_number\": null,\n        \"authorized_person_name\": \"Noura\",\n        \"authorized_person_phone\": \"+966512345678\",\n        \"years_experience\": 4,\n        \"experience_note\": null,\n        \"specialists_count\": 8,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-d7c6-7061-9ff1-9ce3bcf8493f\",\n                \"name\": \"Sample-ofov25957044\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-d7e3-713e-bcaf-ee1b6debd03c\",\n                \"doc_type\": {\n                    \"value\": \"commercial_register\",\n                    \"label\": \"Commercial register\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f300f33f-c62d-45e4-bd92-c79a4f362535.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7e8-719a-bcf6-ffa36b5ad8fe\",\n                \"doc_type\": {\n                    \"value\": \"business_license\",\n                    \"label\": \"Business license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a3fefd76-04f3-4ccc-acc9-be8e897aea2f.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7ed-70e0-a992-f2b1fd6b24d1\",\n                \"doc_type\": {\n                    \"value\": \"staff_health_certificates\",\n                    \"label\": \"Staff health certificates\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/e1899fec-1d7b-4d39-bd3b-0e094a7656bf.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Establishment submitted for review",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Establishment submitted for review",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_happy_path_saves_and_submits_step_two"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d7c1-714a-a294-3625d4635b92\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:04+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"establishment\",\n            \"label\": \"Establishment\"\n        },\n        \"display_name\": \"Oren Emard\",\n        \"national_id\": null,\n        \"commercial_register_no\": \"****1234\",\n        \"vat_number\": null,\n        \"authorized_person_name\": \"Noura\",\n        \"authorized_person_phone\": \"+966512345678\",\n        \"years_experience\": 4,\n        \"experience_note\": null,\n        \"specialists_count\": 8,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-d7c6-7061-9ff1-9ce3bcf8493f\",\n                \"name\": \"Sample-ofov25957044\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-d7e3-713e-bcaf-ee1b6debd03c\",\n                \"doc_type\": {\n                    \"value\": \"commercial_register\",\n                    \"label\": \"Commercial register\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f300f33f-c62d-45e4-bd92-c79a4f362535.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7e8-719a-bcf6-ffa36b5ad8fe\",\n                \"doc_type\": {\n                    \"value\": \"business_license\",\n                    \"label\": \"Business license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a3fefd76-04f3-4ccc-acc9-be8e897aea2f.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d7ed-70e0-a992-f2b1fd6b24d1\",\n                \"doc_type\": {\n                    \"value\": \"staff_health_certificates\",\n                    \"label\": \"Staff health certificates\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/e1899fec-1d7b-4d39-bd3b-0e094a7656bf.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Individual submitted for review",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Individual submitted for review",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_happy_path_saves_and_submits_step_two"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-d735-7068-ba2f-5901bab33d81\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:04+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Merl Kunde DDS\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 4,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-d739-7395-963e-5e860303fdef\",\n                \"name\": \"Sample-wbih73037956\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-d757-73c1-9b99-29332ea034b9\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a2c6ec11-4eb5-4619-a967-11536da61ffe.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d75d-71a6-b8fc-85141387cd80\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/d26f98fb-a96b-4354-87d6-10f57841d973.pdf\"\n            },\n            {\n                \"id\": \"01a17208-d762-727d-9d60-cb2c97cfd777\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/1587fb47-31ca-463c-b6ad-4a2591680e40.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 needs_changes submit allowed",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "needs_changes submit allowed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e033-70e9-8019-936ccb27f989\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:06+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Mrs. Daija Mertz\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 5,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e038-73fd-9446-1bcc87f46704\",\n                \"name\": \"Sample-isxt79028076\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e057-721a-b17b-43a4a2692670\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/150fc182-69a4-4080-9f32-e9402ea22e80.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e05c-712f-8557-ca1a1c3d40ba\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c2d30fee-ef42-4918-8833-5e60a4dd9d94.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e060-71f2-bfc5-3e3da3638a84\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/d31614b1-8ffb-4887-8ab3-13b7cb7f97b4.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 rejected submit allowed",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "rejected submit allowed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17208-e16a-713e-9a0b-d0ddc7c29c0b\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-25T07:49:07+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"provider_type\": {\n            \"value\": \"individual\",\n            \"label\": \"Individual\"\n        },\n        \"display_name\": \"Prof. Rosetta O'Kon DVM\",\n        \"national_id\": \"****1234\",\n        \"commercial_register_no\": null,\n        \"vat_number\": null,\n        \"authorized_person_name\": null,\n        \"authorized_person_phone\": null,\n        \"years_experience\": 5,\n        \"experience_note\": \"Four years at a beauty centre\",\n        \"specialists_count\": null,\n        \"categories\": [\n            {\n                \"id\": \"01a17208-e177-723a-bc66-c404f9241f73\",\n                \"name\": \"Sample-ynns61975790\",\n                \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n                \"is_active\": true,\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                }\n            }\n        ],\n        \"documents\": [\n            {\n                \"id\": \"01a17208-e193-7319-ae8c-9b4df9eb4796\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/758d1b62-3718-451e-a309-0ac44097e53e.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e198-7009-b762-da690faf1312\",\n                \"doc_type\": {\n                    \"value\": \"professional_certificate\",\n                    \"label\": \"Professional certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a31785a0-5ff1-48bd-978b-361e4dc3ad6b.pdf\"\n            },\n            {\n                \"id\": \"01a17208-e19d-719c-bf2b-0ed4f182ec7c\",\n                \"doc_type\": {\n                    \"value\": \"health_certificate\",\n                    \"label\": \"Health certificate\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/19d656e5-4cfc-4200-bba0-72f6d82ab84e.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_bookability\": [\n            \"city\",\n            \"coverage\",\n            \"photo\",\n            \"portfolio\",\n            \"working_hours\",\n            \"payout_account\",\n            \"account_status\",\n            \"categories\",\n            \"services\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Account approved cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Account approved cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_locked_states_cannot_edit_or_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"11b12e1a-c03b-4b55-ac0a-f9cde1ea673c\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Account pending_review cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Account pending_review cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_locked_states_cannot_edit_or_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"14efc061-5cf7-4768-bdf2-6c8c2b95240d\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Account suspended cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Account suspended cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_locked_states_cannot_edit_or_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Suspended.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"9cd8cd01-3134-4e61-9c3a-fc144cba7c80\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 rejected submit denied",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "rejected submit denied",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_resubmission_obeys_setting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Rejected.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"b2ed47bc-576f-4f64-8a3c-6733797e2837\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 All step-two prerequisites missing",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "All step-two prerequisites missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_empty_submission_names_all_missing_items_in_production"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: National ID / iqama number (national_id), Years of experience (years_experience), Experience and employer (experience_note), At least one active category (categories), National ID / iqama file (documents.national_id), Professional certificate (documents.professional_certificate), Health certificate (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"0c719070-7e92-468c-80e1-b5b4e0e99ceb\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Arabic missing step-two requirements",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Arabic missing step-two requirements",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_004_arabic_status_and_missing_messages"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"يتطلب إرسال الطلب: رقم الهوية أو الإقامة (national_id), سنوات الخبرة أو النشاط (years_experience), الخبرة وجهة العمل (experience_note), تصنيف نشط واحد على الأقل (categories), صورة الهوية أو الإقامة (documents.national_id), الشهادة المهنية أو الرخصة (documents.professional_certificate), الشهادة الصحية (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"يتطلب إرسال الطلب: رقم الهوية أو الإقامة (national_id), سنوات الخبرة أو النشاط (years_experience), الخبرة وجهة العمل (experience_note), تصنيف نشط واحد على الأقل (categories), صورة الهوية أو الإقامة (documents.national_id), الشهادة المهنية أو الرخصة (documents.professional_certificate), الشهادة الصحية (documents.health_certificate).\"\n            ]\n        },\n        \"correlation_id\": \"eb776c39-ec19-4e3b-9dc7-1b11b2bb5f2c\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit document date",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Cannot submit document date",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_invalid_document_blocks_submission_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Health certificate (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Health certificate (documents.health_certificate).\"\n            ]\n        },\n        \"correlation_id\": \"38a9c73e-f3e5-4698-8814-1f492ecb6428\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit document expired",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Cannot submit document expired",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_invalid_document_blocks_submission_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Health certificate (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Health certificate (documents.health_certificate).\"\n            ]\n        },\n        \"correlation_id\": \"124a58ba-fb6a-43aa-95cc-77e67cbcee38\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit document file",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Cannot submit document file",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_invalid_document_blocks_submission_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Health certificate (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Health certificate (documents.health_certificate).\"\n            ]\n        },\n        \"correlation_id\": \"4a8f0f5b-03db-4cf5-b49c-4ed43c7e535d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit document missing",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Cannot submit document missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_invalid_document_blocks_submission_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Health certificate (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Health certificate (documents.health_certificate).\"\n            ]\n        },\n        \"correlation_id\": \"6dcfcdc0-0f56-4c8a-a7ac-4a44ef94cea7\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit document rejected",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Cannot submit document rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_invalid_document_blocks_submission_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Health certificate (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Health certificate (documents.health_certificate).\"\n            ]\n        },\n        \"correlation_id\": \"06d2c669-6e97-4737-9066-0472ca6160aa\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit document replaced",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Cannot submit document replaced",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_invalid_document_blocks_submission_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Health certificate (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Health certificate (documents.health_certificate).\"\n            ]\n        },\n        \"correlation_id\": \"917eb7c9-3624-405f-ae2a-67c7e946264d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit document role",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Cannot submit document role",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_002_invalid_document_blocks_submission_without_writes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Health certificate (documents.health_certificate).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Health certificate (documents.health_certificate).\"\n            ]\n        },\n        \"correlation_id\": \"9697f538-1ad6-4b8d-ad18-95604cd3ee5c\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category was deactivated",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Category was deactivated",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_003_zero_active_categories_blocks_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: At least one active category (categories).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: At least one active category (categories).\"\n            ]\n        },\n        \"correlation_id\": \"ae32693c-ee24-48bc-b1ff-e1fd19ba680f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Select at least one category",
                                            "_joshen": {
                                                "route": "provider.onboarding.submit",
                                                "name": "Select at least one category",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OnboardingTest::test_ac_prov_003_zero_active_categories_blocks_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: At least one active category (categories).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: At least one active category (categories).\"\n            ]\n        },\n        \"correlation_id\": \"058e98d7-e055-4388-8534-b398317461fd\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Support",
                            "item": [
                                {
                                    "name": "Reasons",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/support/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "support",
                                                "reasons"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.support.reasons`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Reasons for my app\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n                \"label\": \"Sample-jdbq07958260\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a5a-72d4-bf21-e0f455f00f11\",\n                \"label\": \"Client Unreachable or Inaccurate Address\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a5f-72f5-a360-c23e03bae584\",\n                \"label\": \"Driver Delay or Transport Issue\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a62-732f-a9b6-a6e0c2c70ab9\",\n                \"label\": \"Emergency Report During Appointment\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a66-70f0-a8a0-8b09c7915e78\",\n                \"label\": \"Payout or Wallet Balance Issue\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a69-71cc-aa9f-2a619f20c69e\",\n                \"label\": \"Document or Profile Update Request\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a6c-7320-ae02-7f201f31d330\",\n                \"label\": \"Service Pricing or Packages Inquiry\",\n                \"is_urgent\": false\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Reasons for my app",
                                            "_joshen": {
                                                "route": "provider.support.reasons",
                                                "name": "Reasons for my app",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/reasons",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n                \"label\": \"Sample-jdbq07958260\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a5a-72d4-bf21-e0f455f00f11\",\n                \"label\": \"Client Unreachable or Inaccurate Address\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a5f-72f5-a360-c23e03bae584\",\n                \"label\": \"Driver Delay or Transport Issue\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a62-732f-a9b6-a6e0c2c70ab9\",\n                \"label\": \"Emergency Report During Appointment\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1a66-70f0-a8a0-8b09c7915e78\",\n                \"label\": \"Payout or Wallet Balance Issue\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a69-71cc-aa9f-2a619f20c69e\",\n                \"label\": \"Document or Profile Update Request\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a6c-7320-ae02-7f201f31d330\",\n                \"label\": \"Service Pricing or Packages Inquiry\",\n                \"is_urgent\": false\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "support",
                                                "tickets"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "replied",
                                                    "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.support.tickets.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed` (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `ticket_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` My requests\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c0dd-2e3d-7011-8da8-2542b24c21d5\",\n                \"code\": \"SUP-1012\",\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n                    \"label\": \"Sample-jdbq07958260\"\n                },\n                \"body\": \"I need help with an order\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"has_media\": false,\n                \"order\": null,\n                \"trip\": null,\n                \"can_reply\": true,\n                \"created_at\": \"2026-11-09T15:11:23+00:00\",\n                \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/support/tickets?page=1\",\n            \"last\": \"http://localhost/api/v1/provider/support/tickets?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/support/tickets?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/support/tickets\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 My requests",
                                            "_joshen": {
                                                "route": "provider.support.tickets.index",
                                                "name": "My requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c0dd-2e3d-7011-8da8-2542b24c21d5\",\n                \"code\": \"SUP-1012\",\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n                    \"label\": \"Sample-jdbq07958260\"\n                },\n                \"body\": \"I need help with an order\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"has_media\": false,\n                \"order\": null,\n                \"trip\": null,\n                \"can_reply\": true,\n                \"created_at\": \"2026-11-09T15:11:23+00:00\",\n                \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/support/tickets?page=1\",\n            \"last\": \"http://localhost/api/v1/provider/support/tickets?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/support/tickets?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/support/tickets\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "replied",
                                                            "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "replied",
                                                            "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "provider.support.tickets.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets",
                                                    "query": {
                                                        "filters": {
                                                            "status": "open"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets?filters[status]=open",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "open"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "support",
                                                "tickets"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.support.tickets.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, throttle:support-ticket`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason_id`\n- **Description:** Contact or complaint reason (uuid) from `GET support/reasons` for the caller's app; an urgent reason makes the ticket urgent (DEC-21).\n- **Type:** `string (uuid)`\n- **Refers to:** a `support_reasons` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:support_reasons,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:support_reasons,uuid` — must reference an existing record (support_reasons, uuid).\n### `body`\n- **Description:** Explanatory text, 3–4000 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `The specialist did not arrive at the booked time.`\n- **Validation rules:** `required|string|min:3|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:3` — must be at least 3.\n- `max:4000` — must not exceed 4000.\n### `order_id`\n- **Description:** Customer and provider apps: optional order (uuid) the request is about; it must be one of her own. Not accepted by the driver app.\n- **Type:** `string (uuid)`\n- **Required:** optional\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `sometimes|nullable|uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n### `trip_id`\n- **Description:** Driver app only: optional trip (uuid) the request is about; it must be one of her own (DRIV-019). Not accepted by the other apps.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `attachments`\n- **Description:** Optional files (at most 5) uploaded first through the media endpoint.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `sometimes|array|list|max:5`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:5` — must not exceed 5.\n### `attachments.*`\n- **Description:** Media hash returned by the upload endpoint; an image, a video or a document.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `ticket_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Request sent\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Missing text\n- `422` Reason not available — `error_code: SUPPORT_REASON_INVALID`\n- `429` Too many requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your request was sent to the support team.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2e3d-7011-8da8-2542b24c21d5\",\n        \"code\": \"SUP-1012\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n            \"label\": \"Sample-jdbq07958260\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Request sent",
                                            "_joshen": {
                                                "route": "provider.support.tickets.store",
                                                "name": "Request sent",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2e22-7208-8c96-1e728b459da1",
                                                        "body": "I need help with an order"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n    \"body\": \"I need help with an order\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your request was sent to the support team.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2e3d-7011-8da8-2542b24c21d5\",\n        \"code\": \"SUP-1012\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n            \"label\": \"Sample-jdbq07958260\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing text",
                                            "_joshen": {
                                                "route": "provider.support.tickets.store",
                                                "name": "Missing text",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2e22-7208-8c96-1e728b459da1"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Reason not available",
                                            "_joshen": {
                                                "route": "provider.support.tickets.store",
                                                "name": "Reason not available",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2e75-7077-8a5c-72ae05998d14",
                                                        "body": "Help"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2e75-7077-8a5c-72ae05998d14\",\n    \"body\": \"Help\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The chosen reason is not available.\",\n    \"data\": {\n        \"error_code\": \"SUPPORT_REASON_INVALID\",\n        \"correlation_id\": \"8ffbf40c-0e25-4792-b23d-46b14d8e6af6\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many requests",
                                            "_joshen": {
                                                "route": "provider.support.tickets.store",
                                                "name": "Too many requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"ticket_id\",\"Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/support/tickets/:ticket",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "support",
                                                "tickets",
                                                ":ticket"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.support.tickets.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{ticket_id}}` — Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `ticket_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Request with its thread\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2e3d-7011-8da8-2542b24c21d5\",\n        \"code\": \"SUP-1012\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n            \"label\": \"Sample-jdbq07958260\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Request with its thread",
                                            "_joshen": {
                                                "route": "provider.support.tickets.show",
                                                "name": "Request with its thread",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2e3d-7011-8da8-2542b24c21d5"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2e3d-7011-8da8-2542b24c21d5\",\n        \"code\": \"SUP-1012\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2e22-7208-8c96-1e728b459da1\",\n            \"label\": \"Sample-jdbq07958260\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "ticket_id",
                                                "set_by": [
                                                    "client.support.tickets.index",
                                                    "client.support.tickets.store",
                                                    "client.support.tickets.show",
                                                    "provider.support.tickets.index",
                                                    "provider.support.tickets.store",
                                                    "provider.support.tickets.show",
                                                    "delivery.support.tickets.index",
                                                    "delivery.support.tickets.store",
                                                    "delivery.support.tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reply",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"ticket_id\",\"Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/support/tickets/:ticket/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "support",
                                                "tickets",
                                                ":ticket",
                                                "messages"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.support.tickets.reply`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, throttle:support-ticket`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `body`\n- **Description:** Follow-up text, up to 4000 characters. A closed ticket refuses it (409).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Attaching the booking screenshot.`\n- **Validation rules:** `required|string|min:1|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:1` — must be at least 1.\n- `max:4000` — must not exceed 4000.\n### `attachments`\n- **Description:** Optional files (at most 5) uploaded first through the media endpoint.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `sometimes|array|list|max:5`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:5` — must not exceed 5.\n### `attachments.*`\n- **Description:** Media hash returned by the upload endpoint; an image, a video or a document.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{ticket_id}}` — Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `201` Follow-up added\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Request is closed — `error_code: SUPPORT_TICKET_CLOSED`\n- `422` Empty follow-up\n- `429` Too many follow-ups — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your message was added.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2e69-72e3-8078-4d4dc21c4fb8\",\n        \"sender\": {\n            \"value\": \"user\",\n            \"label\": \"You\"\n        },\n        \"body\": \"Any news?\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Follow-up added",
                                            "_joshen": {
                                                "route": "provider.support.tickets.reply",
                                                "name": "Follow-up added",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Any news?"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2e3d-7011-8da8-2542b24c21d5",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Any news?\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your message was added.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2e69-72e3-8078-4d4dc21c4fb8\",\n        \"sender\": {\n            \"value\": \"user\",\n            \"label\": \"You\"\n        },\n        \"body\": \"Any news?\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Request is closed",
                                            "_joshen": {
                                                "route": "provider.support.tickets.reply",
                                                "name": "Request is closed",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2e3d-7011-8da8-2542b24c21d5",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This request is closed. Please open a new one.\",\n    \"data\": {\n        \"error_code\": \"SUPPORT_TICKET_CLOSED\",\n        \"correlation_id\": \"9ff254d6-854f-43e2-a6ef-237f9c865045\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Empty follow-up",
                                            "_joshen": {
                                                "route": "provider.support.tickets.reply",
                                                "name": "Empty follow-up",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5/messages",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2e3d-7011-8da8-2542b24c21d5",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many follow-ups",
                                            "_joshen": {
                                                "route": "provider.support.tickets.reply",
                                                "name": "Too many follow-ups",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/support/tickets/01a1c0dd-2e3d-7011-8da8-2542b24c21d5/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2e3d-7011-8da8-2542b24c21d5",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "ticket_id",
                                                "set_by": [
                                                    "client.support.tickets.index",
                                                    "client.support.tickets.store",
                                                    "client.support.tickets.show",
                                                    "provider.support.tickets.index",
                                                    "provider.support.tickets.store",
                                                    "provider.support.tickets.show",
                                                    "delivery.support.tickets.index",
                                                    "delivery.support.tickets.store",
                                                    "delivery.support.tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Home",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "home"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.home.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Provider home\n- `200` Provider home with completed order earnings\n- `200` Provider home with today summary\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"verified\": false,\n        \"availability\": {\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"can_receive_instant\": false\n        },\n        \"banners\": [],\n        \"orders\": {\n            \"new_requests\": 0,\n            \"confirmed_today\": 0,\n            \"upcoming_scheduled\": 0,\n            \"in_execution\": 0,\n            \"overdue\": 0\n        },\n        \"amounts_due\": {\n            \"due\": \"0.00\",\n            \"awaiting_transfer\": \"0.00\",\n            \"transferred\": \"0.00\",\n            \"commission_deducted\": \"0.00\"\n        },\n        \"today\": {\n            \"appointments_count\": 0,\n            \"earnings_net\": \"0.00\",\n            \"rating\": {\n                \"average\": null,\n                \"count\": 0\n            }\n        },\n        \"coverage\": {\n            \"city\": null,\n            \"districts\": [],\n            \"service_radius_km\": 10\n        },\n        \"featured\": {\n            \"status\": {\n                \"value\": \"none\",\n                \"label\": \"غير مشتركة\"\n            },\n            \"starts_at\": null,\n            \"ends_at\": null,\n            \"can_subscribe\": true\n        },\n        \"notifications\": {\n            \"unread_count\": 0,\n            \"latest\": []\n        },\n        \"shortcuts\": {\n            \"services\": true,\n            \"packages\": true,\n            \"availability\": true\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider home",
                                            "_joshen": {
                                                "route": "provider.home.show",
                                                "name": "Provider home",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\HomeTest::test_ac_prov_006_empty_home"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"verified\": false,\n        \"availability\": {\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"can_receive_instant\": false\n        },\n        \"banners\": [],\n        \"orders\": {\n            \"new_requests\": 0,\n            \"confirmed_today\": 0,\n            \"upcoming_scheduled\": 0,\n            \"in_execution\": 0,\n            \"overdue\": 0\n        },\n        \"amounts_due\": {\n            \"due\": \"0.00\",\n            \"awaiting_transfer\": \"0.00\",\n            \"transferred\": \"0.00\",\n            \"commission_deducted\": \"0.00\"\n        },\n        \"today\": {\n            \"appointments_count\": 0,\n            \"earnings_net\": \"0.00\",\n            \"rating\": {\n                \"average\": null,\n                \"count\": 0\n            }\n        },\n        \"coverage\": {\n            \"city\": null,\n            \"districts\": [],\n            \"service_radius_km\": 10\n        },\n        \"featured\": {\n            \"status\": {\n                \"value\": \"none\",\n                \"label\": \"غير مشتركة\"\n            },\n            \"starts_at\": null,\n            \"ends_at\": null,\n            \"can_subscribe\": true\n        },\n        \"notifications\": {\n            \"unread_count\": 0,\n            \"latest\": []\n        },\n        \"shortcuts\": {\n            \"services\": true,\n            \"packages\": true,\n            \"availability\": true\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider home with completed order earnings",
                                            "_joshen": {
                                                "route": "provider.home.show",
                                                "name": "Provider home with completed order earnings",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\HomeTest::test_ac_prov_006_today_net_earnings_use_completed_order_day_and_persisted_ledger"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"verified\": false,\n        \"availability\": {\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"can_receive_instant\": false\n        },\n        \"banners\": [],\n        \"orders\": {\n            \"new_requests\": 0,\n            \"confirmed_today\": 0,\n            \"upcoming_scheduled\": 0,\n            \"in_execution\": 0,\n            \"overdue\": 0\n        },\n        \"amounts_due\": {\n            \"due\": \"6310.11\",\n            \"awaiting_transfer\": \"20.22\",\n            \"transferred\": \"30.33\",\n            \"commission_deducted\": \"5.00\"\n        },\n        \"today\": {\n            \"appointments_count\": 0,\n            \"earnings_net\": \"101.10\",\n            \"rating\": {\n                \"average\": null,\n                \"count\": 0\n            }\n        },\n        \"coverage\": {\n            \"city\": null,\n            \"districts\": [],\n            \"service_radius_km\": 10\n        },\n        \"featured\": {\n            \"status\": {\n                \"value\": \"none\",\n                \"label\": \"None\"\n            },\n            \"starts_at\": null,\n            \"ends_at\": null,\n            \"can_subscribe\": true\n        },\n        \"notifications\": {\n            \"unread_count\": 0,\n            \"latest\": []\n        },\n        \"shortcuts\": {\n            \"services\": true,\n            \"packages\": true,\n            \"availability\": true\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider home with today summary",
                                            "_joshen": {
                                                "route": "provider.home.show",
                                                "name": "Provider home with today summary",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\HomeTest::test_ac_prov_006_today_appointments_rating_and_coverage_match_existing_contracts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"verified\": false,\n        \"availability\": {\n            \"is_accepting_bookings\": false,\n            \"instant_enabled\": false,\n            \"can_receive_instant\": false\n        },\n        \"banners\": [],\n        \"orders\": {\n            \"new_requests\": 0,\n            \"confirmed_today\": 0,\n            \"upcoming_scheduled\": 1,\n            \"in_execution\": 0,\n            \"overdue\": 2\n        },\n        \"amounts_due\": {\n            \"due\": \"0.00\",\n            \"awaiting_transfer\": \"0.00\",\n            \"transferred\": \"0.00\",\n            \"commission_deducted\": \"0.00\"\n        },\n        \"today\": {\n            \"appointments_count\": 2,\n            \"earnings_net\": \"0.00\",\n            \"rating\": {\n                \"average\": \"4.75\",\n                \"count\": 8\n            }\n        },\n        \"coverage\": {\n            \"city\": {\n                \"id\": \"01a1ba24-a927-7307-9fa6-351fe3afcdd9\",\n                \"name\": \"Sample-ymsf43409986\"\n            },\n            \"districts\": [\n                {\n                    \"id\": \"01a1ba24-a92f-7273-97df-b7a5079b88ed\",\n                    \"name\": \"Sample-anru83063115\"\n                }\n            ],\n            \"service_radius_km\": 10\n        },\n        \"featured\": {\n            \"status\": {\n                \"value\": \"none\",\n                \"label\": \"None\"\n            },\n            \"starts_at\": null,\n            \"ends_at\": null,\n            \"can_subscribe\": true\n        },\n        \"notifications\": {\n            \"unread_count\": 0,\n            \"latest\": []\n        },\n        \"shortcuts\": {\n            \"services\": true,\n            \"packages\": true,\n            \"availability\": true\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Ratings",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/ratings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "ratings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[stars]",
                                                    "value": "5",
                                                    "description": "Only ratings with this many stars; the summary is unaffected. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.ratings.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[stars]` — Only ratings with this many stars; the summary is unaffected. — `integer` (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Feedback history with summary\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Stars filter out of range\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"summary\": {\n            \"average\": \"4.00\",\n            \"count\": 1,\n            \"distribution\": {\n                \"5\": 0,\n                \"4\": 1,\n                \"3\": 0,\n                \"2\": 0,\n                \"1\": 0\n            }\n        },\n        \"reviews\": {\n            \"data\": [\n                {\n                    \"id\": \"01a19c09-02e2-73f5-b77e-3be5c1404780\",\n                    \"stars\": 4,\n                    \"comment\": \"Good\",\n                    \"tags\": [],\n                    \"order\": {\n                        \"id\": \"01a19c09-02da-72f3-81b7-bf48f4731473\",\n                        \"code\": \"JSH-enya61263418\"\n                    },\n                    \"customer\": {\n                        \"name\": \"Adriana Gerhold MD\"\n                    },\n                    \"created_at\": \"2026-11-02T11:33:18+00:00\"\n                }\n            ],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/provider/ratings?page=1\",\n                \"last\": \"http://localhost/api/v1/provider/ratings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": 1,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/provider/ratings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/provider/ratings\",\n                \"per_page\": 15,\n                \"to\": 1,\n                \"total\": 1\n            }\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Feedback history with summary",
                                            "_joshen": {
                                                "route": "provider.ratings.index",
                                                "name": "Feedback history with summary",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/ratings",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/ratings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "ratings"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"summary\": {\n            \"average\": \"4.00\",\n            \"count\": 1,\n            \"distribution\": {\n                \"5\": 0,\n                \"4\": 1,\n                \"3\": 0,\n                \"2\": 0,\n                \"1\": 0\n            }\n        },\n        \"reviews\": {\n            \"data\": [\n                {\n                    \"id\": \"01a19c09-02e2-73f5-b77e-3be5c1404780\",\n                    \"stars\": 4,\n                    \"comment\": \"Good\",\n                    \"tags\": [],\n                    \"order\": {\n                        \"id\": \"01a19c09-02da-72f3-81b7-bf48f4731473\",\n                        \"code\": \"JSH-enya61263418\"\n                    },\n                    \"customer\": {\n                        \"name\": \"Adriana Gerhold MD\"\n                    },\n                    \"created_at\": \"2026-11-02T11:33:18+00:00\"\n                }\n            ],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/provider/ratings?page=1\",\n                \"last\": \"http://localhost/api/v1/provider/ratings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": 1,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/provider/ratings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/provider/ratings\",\n                \"per_page\": 15,\n                \"to\": 1,\n                \"total\": 1\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/ratings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "ratings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "5",
                                                            "description": "Only ratings with this many stars; the summary is unaffected. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/ratings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "ratings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "5",
                                                            "description": "Only ratings with this many stars; the summary is unaffected. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Stars filter out of range",
                                            "_joshen": {
                                                "route": "provider.ratings.index",
                                                "name": "Stars filter out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/ratings",
                                                    "query": {
                                                        "filters": {
                                                            "stars": 9
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/ratings?filters[stars]=9",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "ratings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "9"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.stars field must be between 1 and 5.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.stars\": [\n                \"The filters.stars field must be between 1 and 5.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Review tags",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/review-tags?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "review-tags"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.review-tags.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Tags for my rating direction\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"tags\": [\n            {\n                \"id\": \"01a19c09-026a-7336-a9ec-07a4388fe55e\",\n                \"label\": \"Sample-caal68280554\"\n            },\n            {\n                \"id\": \"01a19c08-eb87-717d-acef-c6c540cadc25\",\n                \"label\": \"Clear Location & Easy Access\"\n            },\n            {\n                \"id\": \"01a19c08-eb8d-73e9-b131-eb3a4f67e229\",\n                \"label\": \"Welcoming & Respectful\"\n            },\n            {\n                \"id\": \"01a19c08-eb93-7266-a45d-9be08efcbfe1\",\n                \"label\": \"Ready Environment & On Schedule\"\n            },\n            {\n                \"id\": \"01a19c08-eb99-73a5-a34c-118b35f7adc3\",\n                \"label\": \"Respects Specialist Time\"\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Tags for my rating direction",
                                            "_joshen": {
                                                "route": "provider.review-tags.index",
                                                "name": "Tags for my rating direction",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/review-tags",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/review-tags",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "review-tags"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"tags\": [\n            {\n                \"id\": \"01a19c09-026a-7336-a9ec-07a4388fe55e\",\n                \"label\": \"Sample-caal68280554\"\n            },\n            {\n                \"id\": \"01a19c08-eb87-717d-acef-c6c540cadc25\",\n                \"label\": \"Clear Location & Easy Access\"\n            },\n            {\n                \"id\": \"01a19c08-eb8d-73e9-b131-eb3a4f67e229\",\n                \"label\": \"Welcoming & Respectful\"\n            },\n            {\n                \"id\": \"01a19c08-eb93-7266-a45d-9be08efcbfe1\",\n                \"label\": \"Ready Environment & On Schedule\"\n            },\n            {\n                \"id\": \"01a19c08-eb99-73a5-a34c-118b35f7adc3\",\n                \"label\": \"Respects Specialist Time\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/review-tags?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "review-tags"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/review-tags?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "review-tags"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Orders",
                            "item": [
                                {
                                    "name": "Rating",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/rating",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "rating"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.rating`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved, throttle:review-submit`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `stars`\n- **Description:** Whole stars, 1–5 (BR-28, DEC-19).\n- **Type:** `integer`\n- **Required:** required\n- **Example:** `5`\n- **Validation rules:** `required|integer|between:1,5`\n- `required` — must be provided.\n- `integer` — must be a whole number.\n- `between:1,5` — must be between 1, 5.\n### `comment`\n- **Description:** Optional public comment, up to 1000 characters; subject to admin moderation.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Arrived on time and the tools were spotless.`\n- **Validation rules:** `sometimes|nullable|string|max:1000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n### `private_note`\n- **Description:** Provider app only: a note only the Joshen team sees (DEC-19). Refused on the customer app.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Customer was not at the address for ten minutes.`\n- **Validation rules:** `sometimes|nullable|string|max:1000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:1000` — must not exceed 1000.\n### `tags`\n- **Description:** Optional tags from `GET review-tags`, at most 10.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"]`\n- **Validation rules:** `sometimes|array|list|max:10`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:10` — must not exceed 10.\n### `tags.*`\n- **Description:** Tag id (uuid) of `review_tags`, active and for the caller's direction.\n- **Type:** `string (uuid)`\n- **Refers to:** a `review_tags` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|distinct|uuid|exists:review_tags,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:review_tags,uuid` — must reference an existing record (review_tags, uuid).\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `201` Order rated\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Order already rated — `error_code: REVIEW_ALREADY_SUBMITTED`\n- `422` Order is not completed — `error_code: REVIEW_ORDER_NOT_RATABLE`\n- `422` Stars out of range\n- `429` Too many rating attempts — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Thank you, your rating was saved.\",\n    \"data\": {\n        \"id\": \"01a19c09-0283-73e7-83b5-a4916e9ef2bb\",\n        \"order\": {\n            \"id\": \"01a19c09-0265-70bf-b340-da9a7cfa7892\",\n            \"code\": \"JSH-kmtz05240996\"\n        },\n        \"direction\": {\n            \"value\": \"provider_to_customer\",\n            \"label\": \"Provider rated customer\"\n        },\n        \"stars\": 5,\n        \"comment\": \"Great\",\n        \"tags\": [\n            {\n                \"id\": \"01a19c09-026a-7336-a9ec-07a4388fe55e\",\n                \"label\": \"Sample-caal68280554\"\n            }\n        ],\n        \"created_at\": \"2026-11-02T11:33:18+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"stars\": 5,\n    \"comment\": \"Arrived on time and the tools were spotless.\",\n    \"private_note\": \"Customer was not at the address for ten minutes.\",\n    \"tags\": [\n        \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Order rated",
                                            "_joshen": {
                                                "route": "provider.orders.rating",
                                                "name": "Order rated",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19c09-0265-70bf-b340-da9a7cfa7892/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 5,
                                                        "comment": "Great",
                                                        "tags": [
                                                            "01a19c09-026a-7336-a9ec-07a4388fe55e"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19c09-0265-70bf-b340-da9a7cfa7892/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19c09-0265-70bf-b340-da9a7cfa7892",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5,\n    \"comment\": \"Great\",\n    \"tags\": [\n        \"01a19c09-026a-7336-a9ec-07a4388fe55e\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Thank you, your rating was saved.\",\n    \"data\": {\n        \"id\": \"01a19c09-0283-73e7-83b5-a4916e9ef2bb\",\n        \"order\": {\n            \"id\": \"01a19c09-0265-70bf-b340-da9a7cfa7892\",\n            \"code\": \"JSH-kmtz05240996\"\n        },\n        \"direction\": {\n            \"value\": \"provider_to_customer\",\n            \"label\": \"Provider rated customer\"\n        },\n        \"stars\": 5,\n        \"comment\": \"Great\",\n        \"tags\": [\n            {\n                \"id\": \"01a19c09-026a-7336-a9ec-07a4388fe55e\",\n                \"label\": \"Sample-caal68280554\"\n            }\n        ],\n        \"created_at\": \"2026-11-02T11:33:18+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "rating"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5,\n    \"comment\": \"Arrived on time and the tools were spotless.\",\n    \"private_note\": \"Customer was not at the address for ten minutes.\",\n    \"tags\": [\n        \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "rating"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5,\n    \"comment\": \"Arrived on time and the tools were spotless.\",\n    \"private_note\": \"Customer was not at the address for ten minutes.\",\n    \"tags\": [\n        \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Order already rated",
                                            "_joshen": {
                                                "route": "provider.orders.rating",
                                                "name": "Order already rated",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19c09-0265-70bf-b340-da9a7cfa7892/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 5
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19c09-0265-70bf-b340-da9a7cfa7892/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19c09-0265-70bf-b340-da9a7cfa7892",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You have already rated this order.\",\n    \"data\": {\n        \"error_code\": \"REVIEW_ALREADY_SUBMITTED\",\n        \"correlation_id\": \"17666bfa-919f-4388-8342-924aef50347f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Order is not completed",
                                            "_joshen": {
                                                "route": "provider.orders.rating",
                                                "name": "Order is not completed",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19c09-0290-7393-b55a-9bdadd4520ed/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 5
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19c09-0290-7393-b55a-9bdadd4520ed/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19c09-0290-7393-b55a-9bdadd4520ed",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 5\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Only a completed order of yours can be rated.\",\n    \"data\": {\n        \"error_code\": \"REVIEW_ORDER_NOT_RATABLE\",\n        \"correlation_id\": \"fe17be3c-9e23-45c6-b6dc-b6ef17c863f6\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Stars out of range",
                                            "_joshen": {
                                                "route": "provider.orders.rating",
                                                "name": "Stars out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19c09-0265-70bf-b340-da9a7cfa7892/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 9
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19c09-0265-70bf-b340-da9a7cfa7892/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19c09-0265-70bf-b340-da9a7cfa7892",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 9\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The stars field must be between 1 and 5.\",\n    \"data\": {\n        \"errors\": {\n            \"stars\": [\n                \"The stars field must be between 1 and 5.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many rating attempts",
                                            "_joshen": {
                                                "route": "provider.orders.rating",
                                                "name": "Too many rating attempts",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19c09-0290-7393-b55a-9bdadd4520ed/rating",
                                                    "query": null,
                                                    "body": {
                                                        "stars": 9
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\RatingCycleTest::test_ratings_answer_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19c09-0290-7393-b55a-9bdadd4520ed/rating",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19c09-0290-7393-b55a-9bdadd4520ed",
                                                        "rating"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"stars\": 9\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"order_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `order_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Incoming provider order\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a1c637-51ed-73e4-84c5-6a51ff301b78\",\n            \"code\": \"JSH-218802\",\n            \"status\": {\n                \"value\": \"pending_provider\",\n                \"label\": \"Waiting for provider\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"scheduled\",\n                \"label\": \"Scheduled\"\n            },\n            \"service_name\": \"مكياج\",\n            \"is_group\": false,\n            \"customer\": {\n                \"id\": \"01a1c637-4f6f-7243-bb4f-d508ba929835\",\n                \"name\": \"Prof. Jaylin Nikolaus V\"\n            },\n            \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n            \"eta_minutes\": null,\n            \"net_earning\": \"104.00\",\n            \"respond_before\": \"2026-10-25T07:30:00+00:00\",\n            \"seconds_left\": 1800,\n            \"can_respond\": true,\n            \"can_chat\": false,\n            \"can_prepare\": false,\n            \"can_start_travel\": false,\n            \"can_mark_arrived\": false,\n            \"can_start_service\": false,\n            \"can_complete\": false,\n            \"can_cancel\": false,\n            \"can_rate\": false\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Incoming provider order",
                                            "_joshen": {
                                                "route": "provider.orders.index",
                                                "name": "Incoming provider order",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_015_scheduled_accept_then_customer_pay_confirms"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a1c637-51ed-73e4-84c5-6a51ff301b78\",\n            \"code\": \"JSH-218802\",\n            \"status\": {\n                \"value\": \"pending_provider\",\n                \"label\": \"Waiting for provider\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"scheduled\",\n                \"label\": \"Scheduled\"\n            },\n            \"service_name\": \"مكياج\",\n            \"is_group\": false,\n            \"customer\": {\n                \"id\": \"01a1c637-4f6f-7243-bb4f-d508ba929835\",\n                \"name\": \"Prof. Jaylin Nikolaus V\"\n            },\n            \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n            \"eta_minutes\": null,\n            \"net_earning\": \"104.00\",\n            \"respond_before\": \"2026-10-25T07:30:00+00:00\",\n            \"seconds_left\": 1800,\n            \"can_respond\": true,\n            \"can_chat\": false,\n            \"can_prepare\": false,\n            \"can_start_travel\": false,\n            \"can_mark_arrived\": false,\n            \"can_start_service\": false,\n            \"can_complete\": false,\n            \"can_cancel\": false,\n            \"can_rate\": false\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "order_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"order_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `order_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Group order as the provider sees it\n- `200` Provider order details\n- `200` Provider order with driver trip\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1bfbd-d373-7302-81eb-067b2d659639\",\n        \"code\": \"JSH-285404\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": \"مكياج\",\n        \"is_group\": true,\n        \"customer\": {\n            \"id\": \"01a1bfbd-d097-70b6-842b-4584e2fdb2fd\",\n            \"name\": \"Miss Kavon Streich Sr.\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"224.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": true,\n        \"can_rate\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1bfbd-d379-7105-9c06-380e8a081e3c\",\n                \"label\": \"Miss Kavon Streich Sr.\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            },\n            {\n                \"id\": \"01a1bfbd-d385-73c1-81bc-0d251f0c95b9\",\n                \"label\": \"جود الحربي\",\n                \"is_customer\": false,\n                \"sort_order\": 2,\n                \"services_count\": 2,\n                \"duration_min\": 100,\n                \"services_amount\": \"150.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1bfbd-d37d-7391-9fbc-8381e30e02ec\",\n                \"person_id\": \"01a1bfbd-d379-7105-9c06-380e8a081e3c\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-d381-71da-91c7-c0393b8ecf07\",\n                        \"name\": \"Sample-bzcq01076932\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bfbd-d388-7333-9236-6dce298eacde\",\n                \"person_id\": \"01a1bfbd-d385-73c1-81bc-0d251f0c95b9\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 70,\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-d38b-7143-a163-470b8ec6e462\",\n                        \"name\": \"Sample-sxuo67918979\",\n                        \"price\": \"0.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bfbd-d38e-7342-a083-04ca096e5cc3\",\n                \"person_id\": \"01a1bfbd-d385-73c1-81bc-0d251f0c95b9\",\n                \"name\": \"رموش\",\n                \"duration_min\": 30,\n                \"options\": []\n            }\n        ],\n        \"address\": {\n            \"text\": \"qgpzynuraxvc\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"estimated_duration_min\": 160,\n        \"services_amount\": \"280.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Group order as the provider sees it",
                                            "_joshen": {
                                                "route": "provider.orders.show",
                                                "name": "Group order as the provider sees it",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a1bfbd-d373-7302-81eb-067b2d659639",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\GroupBookingTest::test_d2_provider_sees_the_people_and_their_services"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1bfbd-d373-7302-81eb-067b2d659639",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1bfbd-d373-7302-81eb-067b2d659639"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1bfbd-d373-7302-81eb-067b2d659639\",\n        \"code\": \"JSH-285404\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": \"مكياج\",\n        \"is_group\": true,\n        \"customer\": {\n            \"id\": \"01a1bfbd-d097-70b6-842b-4584e2fdb2fd\",\n            \"name\": \"Miss Kavon Streich Sr.\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"224.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": true,\n        \"can_rate\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1bfbd-d379-7105-9c06-380e8a081e3c\",\n                \"label\": \"Miss Kavon Streich Sr.\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            },\n            {\n                \"id\": \"01a1bfbd-d385-73c1-81bc-0d251f0c95b9\",\n                \"label\": \"جود الحربي\",\n                \"is_customer\": false,\n                \"sort_order\": 2,\n                \"services_count\": 2,\n                \"duration_min\": 100,\n                \"services_amount\": \"150.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1bfbd-d37d-7391-9fbc-8381e30e02ec\",\n                \"person_id\": \"01a1bfbd-d379-7105-9c06-380e8a081e3c\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-d381-71da-91c7-c0393b8ecf07\",\n                        \"name\": \"Sample-bzcq01076932\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bfbd-d388-7333-9236-6dce298eacde\",\n                \"person_id\": \"01a1bfbd-d385-73c1-81bc-0d251f0c95b9\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 70,\n                \"options\": [\n                    {\n                        \"id\": \"01a1bfbd-d38b-7143-a163-470b8ec6e462\",\n                        \"name\": \"Sample-sxuo67918979\",\n                        \"price\": \"0.00\"\n                    }\n                ]\n            },\n            {\n                \"id\": \"01a1bfbd-d38e-7342-a083-04ca096e5cc3\",\n                \"person_id\": \"01a1bfbd-d385-73c1-81bc-0d251f0c95b9\",\n                \"name\": \"رموش\",\n                \"duration_min\": 30,\n                \"options\": []\n            }\n        ],\n        \"address\": {\n            \"text\": \"qgpzynuraxvc\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"estimated_duration_min\": 160,\n        \"services_amount\": \"280.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider order details",
                                            "_joshen": {
                                                "route": "provider.orders.show",
                                                "name": "Provider order details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a1c637-6243-73b3-abec-83c75bcecb22",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_provider_request_examples"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c637-6243-73b3-abec-83c75bcecb22",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c637-6243-73b3-abec-83c75bcecb22"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a1c637-6243-73b3-abec-83c75bcecb22\",\n        \"code\": \"JSH-482847\",\n        \"status\": {\n            \"value\": \"pending_provider\",\n            \"label\": \"Waiting for provider\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": \"مكياج\",\n        \"is_group\": false,\n        \"customer\": {\n            \"id\": \"01a1c637-5fa3-7307-846e-9c0cd921f82b\",\n            \"name\": \"Murray Metz\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"104.00\",\n        \"respond_before\": \"2026-10-25T07:00:20+00:00\",\n        \"seconds_left\": 20,\n        \"can_respond\": true,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": false,\n        \"can_rate\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-6245-73b8-a76c-e54473fba966\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-6247-7226-9942-dd14be86c9df\",\n                \"person_id\": \"01a1c637-6245-73b8-a76c-e54473fba966\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-6248-7050-ae1a-fac02f46c401\",\n                        \"name\": \"Sample-gull51147287\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"address\": {\n            \"text\": \"qfvkmdsuwdmb\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"estimated_duration_min\": 60,\n        \"services_amount\": \"130.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider order with driver trip",
                                            "_joshen": {
                                                "route": "provider.orders.show",
                                                "name": "Provider order with driver trip",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a19791-714b-7068-96d5-857f8e6bd4d7",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\TransportChoiceTest::test_order_details_exposes_transport_and_masked_pii"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-714b-7068-96d5-857f8e6bd4d7",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-714b-7068-96d5-857f8e6bd4d7"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-714b-7068-96d5-857f8e6bd4d7\",\n        \"code\": \"JSH-rlqs90791416\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"مؤكد\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"غير مدفوع\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"فوري\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-7154-7242-b8aa-da32a54991df\",\n            \"name\": \"Alexanne Witting\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"80.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": true,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"Riyadh, Al Nakheel Dist\",\n            \"lat\": \"24.774300\",\n            \"lng\": \"46.738600\"\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"100.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"joshen_driver\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": {\n                \"id\": \"01a19791-716a-7086-8f1d-cbacc9d8ad55\",\n                \"code\": \"TRP-esyt66652707\",\n                \"status\": {\n                    \"value\": \"accepted\",\n                    \"label\": \"تم قبول الطلب من المندوبة\"\n                },\n                \"search_expires_at\": \"2026-10-25T07:05:00+00:00\",\n                \"delivery_fee\": \"25.00\",\n                \"driver\": {\n                    \"first_name\": \"Felipa\",\n                    \"vehicle\": {\n                        \"type\": \"car\",\n                        \"make_model\": \"Toyota Yaris\",\n                        \"plate_number\": \"ABC 1234\"\n                    }\n                },\n                \"arrival_confirmed_by\": null,\n                \"can_confirm_arrival\": false\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "order_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "conversation"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ],
                                            "query": [
                                                {
                                                    "key": "before",
                                                    "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                    "description": "Fetch up to 50 older messages before this message UUID (CUST-018, PROV-021). — `string (uuid)`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.conversations.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `before` — Fetch up to 50 older messages before this message UUID (CUST-018, PROV-021). — `string (uuid)` (optional)\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Load conversation history without clearing unread\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Provider history cursor must be a UUID\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"conversation\": {\n            \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n            \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n            \"status\": {\n                \"value\": \"open\",\n                \"label\": \"Open\"\n            },\n            \"latest_message\": {\n                \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"I will arrive shortly.\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            },\n            \"unread_count\": 1\n        },\n        \"messages\": [\n            {\n                \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"I will arrive shortly.\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"has_more\": false\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Load conversation history without clearing unread",
                                            "_joshen": {
                                                "route": "provider.conversations.show",
                                                "name": "Load conversation history without clearing unread",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_paid_participants_receive_private_messages_and_explicit_read_updates"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19619-0ff7-73d9-90e5-52260adae3b0",
                                                        "conversation"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"conversation\": {\n            \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n            \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n            \"status\": {\n                \"value\": \"open\",\n                \"label\": \"Open\"\n            },\n            \"latest_message\": {\n                \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"I will arrive shortly.\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            },\n            \"unread_count\": 1\n        },\n        \"messages\": [\n            {\n                \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                \"sender_role\": {\n                    \"value\": \"customer\",\n                    \"label\": \"Customer\"\n                },\n                \"type\": {\n                    \"value\": \"text\",\n                    \"label\": \"Text\"\n                },\n                \"body\": \"I will arrive shortly.\",\n                \"created_at\": \"2026-10-25T07:00:00+00:00\"\n            }\n        ],\n        \"has_more\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "conversation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Fetch up to 50 older messages before this message UUID (CUST-018, PROV-021). — `string (uuid)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "conversation"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55",
                                                            "description": "Fetch up to 50 older messages before this message UUID (CUST-018, PROV-021). — `string (uuid)`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider history cursor must be a UUID",
                                            "_joshen": {
                                                "route": "provider.conversations.show",
                                                "name": "Provider history cursor must be a UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19619-1731-739f-aa75-6561845c2970/conversation",
                                                    "query": {
                                                        "before": "bad"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_unpaid_foreign_and_completed_orders_cannot_send_but_history_remains"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19619-1731-739f-aa75-6561845c2970/conversation?before=bad",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19619-1731-739f-aa75-6561845c2970",
                                                        "conversation"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "before",
                                                            "value": "bad"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The before field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"before\": [\n                \"The before field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "conversation",
                                                "messages"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.conversations.messages.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved, throttle:order-chat`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `body`\n- **Description:** Order execution text sent by the authenticated participant; attachments are unavailable (BR-15, TD-144).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `I will arrive shortly.`\n- **Validation rules:** `required|string|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:4000` — must not exceed 4000.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `201` Provider sends text message\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Provider message body required\n- `429` Provider too many chat messages — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-16b4-7263-b7c0-c47a1ccb5b3e\",\n        \"sender_role\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"type\": {\n            \"value\": \"text\",\n            \"label\": \"Text\"\n        },\n        \"body\": \"On my way.\",\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n        \"conversation_id\": \"01a19619-1639-720f-90ef-038fd272c2c7\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"body\": \"I will arrive shortly.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Provider sends text message",
                                            "_joshen": {
                                                "route": "provider.conversations.messages.store",
                                                "name": "Provider sends text message",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "On my way."
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_paid_participants_receive_private_messages_and_explicit_read_updates"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19619-0ff7-73d9-90e5-52260adae3b0",
                                                        "conversation",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"On my way.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-16b4-7263-b7c0-c47a1ccb5b3e\",\n        \"sender_role\": {\n            \"value\": \"provider\",\n            \"label\": \"Provider\"\n        },\n        \"type\": {\n            \"value\": \"text\",\n            \"label\": \"Text\"\n        },\n        \"body\": \"On my way.\",\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n        \"conversation_id\": \"01a19619-1639-720f-90ef-038fd272c2c7\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "conversation",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"I will arrive shortly.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "conversation",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"I will arrive shortly.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider message body required",
                                            "_joshen": {
                                                "route": "provider.conversations.messages.store",
                                                "name": "Provider message body required",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": ""
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_unpaid_foreign_and_completed_orders_cannot_send_but_history_remains"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19619-1731-739f-aa75-6561845c2970",
                                                        "conversation",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Provider too many chat messages",
                                            "_joshen": {
                                                "route": "provider.conversations.messages.store",
                                                "name": "Provider too many chat messages",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19619-2292-71b4-b875-aed86c08759f/conversation/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_sending_is_rate_limited_per_user"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19619-2292-71b4-b875-aed86c08759f/conversation/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19619-2292-71b4-b875-aed86c08759f",
                                                        "conversation",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Read",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "conversation",
                                                "read"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.conversations.read`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `through_message_id`\n- **Description:** UUID of the latest message actually displayed; marks earlier incoming messages in this conversation read (TD-144).\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Mark displayed messages read\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Provider read cursor must be a UUID\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n        \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n        \"status\": {\n            \"value\": \"open\",\n            \"label\": \"Open\"\n        },\n        \"latest_message\": {\n            \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n            \"sender_role\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"type\": {\n                \"value\": \"text\",\n                \"label\": \"Text\"\n            },\n            \"body\": \"I will arrive shortly.\",\n            \"created_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"unread_count\": 0\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"through_message_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Mark displayed messages read",
                                            "_joshen": {
                                                "route": "provider.conversations.read",
                                                "name": "Mark displayed messages read",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation/read",
                                                    "query": null,
                                                    "body": {
                                                        "through_message_id": "01a19619-163a-7279-97bc-89f3b14e0392"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_paid_participants_receive_private_messages_and_explicit_read_updates"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19619-0ff7-73d9-90e5-52260adae3b0/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19619-0ff7-73d9-90e5-52260adae3b0",
                                                        "conversation",
                                                        "read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"01a19619-163a-7279-97bc-89f3b14e0392\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n        \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n        \"status\": {\n            \"value\": \"open\",\n            \"label\": \"Open\"\n        },\n        \"latest_message\": {\n            \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n            \"sender_role\": {\n                \"value\": \"customer\",\n                \"label\": \"Customer\"\n            },\n            \"type\": {\n                \"value\": \"text\",\n                \"label\": \"Text\"\n            },\n            \"body\": \"I will arrive shortly.\",\n            \"created_at\": \"2026-10-25T07:00:00+00:00\"\n        },\n        \"unread_count\": 0\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "conversation",
                                                        "read"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "conversation",
                                                        "read"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider read cursor must be a UUID",
                                            "_joshen": {
                                                "route": "provider.conversations.read",
                                                "name": "Provider read cursor must be a UUID",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/read",
                                                    "query": null,
                                                    "body": {
                                                        "through_message_id": "bad"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_unpaid_foreign_and_completed_orders_cannot_send_but_history_remains"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19619-1731-739f-aa75-6561845c2970/conversation/read",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19619-1731-739f-aa75-6561845c2970",
                                                        "conversation",
                                                        "read"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"through_message_id\": \"bad\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The through message id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"through_message_id\": [\n                \"The through message id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Accept",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "accept"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.accept`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Optional provider rejection reason, max 500 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `nullable|string|max:500`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Scheduled request accepted\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Decision reason too long\n- `422` Provider cannot accept a cancelled order — `error_code: INVALID_STATE_TRANSITION`\n- `422` Provider response deadline passed — `error_code: PROVIDER_RESPONSE_EXPIRED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-51ed-73e4-84c5-6a51ff301b78\",\n        \"code\": \"JSH-218802\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"service_name\": \"مكياج\",\n        \"is_group\": false,\n        \"customer\": {\n            \"id\": \"01a1c637-4f6f-7243-bb4f-d508ba929835\",\n            \"name\": \"Prof. Jaylin Nikolaus V\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"net_earning\": \"104.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": true,\n        \"can_rate\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-51ef-71dc-8d44-685f84a5f60a\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-51f1-72d0-b1fb-2f0750435b19\",\n                \"person_id\": \"01a1c637-51ef-71dc-8d44-685f84a5f60a\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-51f3-70b1-9dd3-0982f60ef6e5\",\n                        \"name\": \"Sample-uhfi07848537\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"address\": {\n            \"text\": \"jdsxgkxasgss\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"estimated_duration_min\": 60,\n        \"services_amount\": \"130.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Scheduled request accepted",
                                            "_joshen": {
                                                "route": "provider.orders.accept",
                                                "name": "Scheduled request accepted",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a1c637-51ed-73e4-84c5-6a51ff301b78/accept",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_015_scheduled_accept_then_customer_pay_confirms"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c637-51ed-73e4-84c5-6a51ff301b78/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c637-51ed-73e4-84c5-6a51ff301b78",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-51ed-73e4-84c5-6a51ff301b78\",\n        \"code\": \"JSH-218802\",\n        \"status\": {\n            \"value\": \"awaiting_payment\",\n            \"label\": \"Awaiting payment\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"scheduled\",\n            \"label\": \"Scheduled\"\n        },\n        \"service_name\": \"مكياج\",\n        \"is_group\": false,\n        \"customer\": {\n            \"id\": \"01a1c637-4f6f-7243-bb4f-d508ba929835\",\n            \"name\": \"Prof. Jaylin Nikolaus V\"\n        },\n        \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n        \"eta_minutes\": null,\n        \"net_earning\": \"104.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": true,\n        \"can_rate\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-51ef-71dc-8d44-685f84a5f60a\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-51f1-72d0-b1fb-2f0750435b19\",\n                \"person_id\": \"01a1c637-51ef-71dc-8d44-685f84a5f60a\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-51f3-70b1-9dd3-0982f60ef6e5\",\n                        \"name\": \"Sample-uhfi07848537\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"address\": {\n            \"text\": \"jdsxgkxasgss\",\n            \"lat\": \"24.713552\",\n            \"lng\": \"46.675296\"\n        },\n        \"estimated_duration_min\": 60,\n        \"services_amount\": \"130.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "accept"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "accept"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Decision reason too long",
                                            "_joshen": {
                                                "route": "provider.orders.accept",
                                                "name": "Decision reason too long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a1c637-6243-73b3-abec-83c75bcecb22/accept",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_provider_request_examples"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c637-6243-73b3-abec-83c75bcecb22/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c637-6243-73b3-abec-83c75bcecb22",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider cannot accept a cancelled order",
                                            "_joshen": {
                                                "route": "provider.orders.accept",
                                                "name": "Provider cannot accept a cancelled order",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a197ca-e96b-71c7-847a-4f004cb7eb5e/accept",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_cancel_wins_provider_accept_and_queued_expiry_is_a_no_op"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a197ca-e96b-71c7-847a-4f004cb7eb5e/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a197ca-e96b-71c7-847a-4f004cb7eb5e",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"10ebd241-e2d5-4ecf-a0ae-4a03a88eee84\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider response deadline passed",
                                            "_joshen": {
                                                "route": "provider.orders.accept",
                                                "name": "Provider response deadline passed",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a1c637-5866-70f9-8478-9736de7490ee/accept",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_015_late_accept_expires_and_refunds"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c637-5866-70f9-8478-9736de7490ee/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c637-5866-70f9-8478-9736de7490ee",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The response deadline has passed.\",\n    \"data\": {\n        \"error_code\": \"PROVIDER_RESPONSE_EXPIRED\",\n        \"correlation_id\": \"45427120-f62d-4a4e-8a98-1424e4aeb06b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Optional provider rejection reason, max 500 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `nullable|string|max:500`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Instant request rejected with wallet refund\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Rejection reason too long\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-5540-7173-91ca-ed02d132042b\",\n        \"code\": \"JSH-609285\",\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": \"مكياج\",\n        \"is_group\": false,\n        \"customer\": {\n            \"id\": \"01a1c637-52d1-70a8-99f9-af5a7a810bab\",\n            \"name\": \"Ike Baumbach\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"104.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": false,\n        \"can_rate\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-5541-7305-a8f2-ea3d6b3af331\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-5543-734b-be21-de3893eb91b8\",\n                \"person_id\": \"01a1c637-5541-7305-a8f2-ea3d6b3af331\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-5544-7159-a63e-8f543bcb2540\",\n                        \"name\": \"Sample-mdod86278029\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": 60,\n        \"services_amount\": \"130.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": \"Unavailable\",\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Instant request rejected with wallet refund",
                                            "_joshen": {
                                                "route": "provider.orders.reject",
                                                "name": "Instant request rejected with wallet refund",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a1c637-5540-7173-91ca-ed02d132042b/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "Unavailable"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_015_instant_rejection_refunds_once"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c637-5540-7173-91ca-ed02d132042b/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c637-5540-7173-91ca-ed02d132042b",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"Unavailable\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c637-5540-7173-91ca-ed02d132042b\",\n        \"code\": \"JSH-609285\",\n        \"status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": \"مكياج\",\n        \"is_group\": false,\n        \"customer\": {\n            \"id\": \"01a1c637-52d1-70a8-99f9-af5a7a810bab\",\n            \"name\": \"Ike Baumbach\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"104.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": false,\n        \"can_rate\": false,\n        \"people\": [\n            {\n                \"id\": \"01a1c637-5541-7305-a8f2-ea3d6b3af331\",\n                \"label\": \"أنا\",\n                \"is_customer\": true,\n                \"sort_order\": 1,\n                \"services_count\": 1,\n                \"duration_min\": 60,\n                \"services_amount\": \"130.00\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a1c637-5543-734b-be21-de3893eb91b8\",\n                \"person_id\": \"01a1c637-5541-7305-a8f2-ea3d6b3af331\",\n                \"name\": \"مكياج\",\n                \"duration_min\": 60,\n                \"options\": [\n                    {\n                        \"id\": \"01a1c637-5544-7159-a63e-8f543bcb2540\",\n                        \"name\": \"Sample-mdod86278029\",\n                        \"price\": \"30.00\"\n                    }\n                ]\n            }\n        ],\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": 60,\n        \"services_amount\": \"130.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": \"Unavailable\",\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Rejection reason too long",
                                            "_joshen": {
                                                "route": "provider.orders.reject",
                                                "name": "Rejection reason too long",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a1c637-6243-73b3-abec-83c75bcecb22/reject",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_provider_request_examples"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c637-6243-73b3-abec-83c75bcecb22/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c637-6243-73b3-abec-83c75bcecb22",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Cancel",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/cancel",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "cancel"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.cancel`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason`\n- **Description:** Optional reason the provider gives for cancelling; stored on the order and shown to admins (PROV-016).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `I am unwell and cannot attend.`\n- **Validation rules:** `sometimes|nullable|string|max:500`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:500` — must not exceed 500.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Paid order cancelled by the provider with a full refund\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Cancellation reason longer than 500 characters\n- `422` Provider cancellation denied by the active rule — `error_code: ORDER_CANCELLATION_NOT_ALLOWED`\n- `422` Provider cancellation locked after departure — `error_code: ORDER_CANCELLATION_LOCKED`\n- `422` Request not yet accepted cannot be cancelled — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Order cancelled and the customer refunded.\",\n    \"data\": {\n        \"id\": \"01a197ca-c40b-7373-9c92-ed14e3404211\",\n        \"code\": \"JSH-sgsz62181169\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a197ca-c410-7365-a378-a237668e884f\",\n            \"name\": \"Dr. Monty Bechtelar V\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"104.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"130.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason\": \"I am unwell and cannot attend.\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Paid order cancelled by the provider with a full refund",
                                            "_joshen": {
                                                "route": "provider.orders.cancel",
                                                "name": "Paid order cancelled by the provider with a full refund",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a197ca-c40b-7373-9c92-ed14e3404211/cancel",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "I am unwell."
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderCancellationTest::test_ac_prov_016_provider_cancels_a_paid_order_and_the_customer_is_refunded_in_full"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a197ca-c40b-7373-9c92-ed14e3404211/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a197ca-c40b-7373-9c92-ed14e3404211",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"I am unwell.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Order cancelled and the customer refunded.\",\n    \"data\": {\n        \"id\": \"01a197ca-c40b-7373-9c92-ed14e3404211\",\n        \"code\": \"JSH-sgsz62181169\",\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"payment_status\": {\n            \"value\": \"refunded\",\n            \"label\": \"Refunded\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a197ca-c410-7365-a378-a237668e884f\",\n            \"name\": \"Dr. Monty Bechtelar V\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"104.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_cancel\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": null,\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"130.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"I am unwell and cannot attend.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"I am unwell and cannot attend.\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cancellation reason longer than 500 characters",
                                            "_joshen": {
                                                "route": "provider.orders.cancel",
                                                "name": "Cancellation reason longer than 500 characters",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a197ca-c9f5-72c9-b6bb-eb059a8962f7/cancel",
                                                    "query": null,
                                                    "body": {
                                                        "reason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderCancellationTest::test_ac_prov_016_reason_is_validated"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a197ca-c9f5-72c9-b6bb-eb059a8962f7/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a197ca-c9f5-72c9-b6bb-eb059a8962f7",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The reason field must not be greater than 500 characters.\",\n    \"data\": {\n        \"errors\": {\n            \"reason\": [\n                \"The reason field must not be greater than 500 characters.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider cancellation denied by the active rule",
                                            "_joshen": {
                                                "route": "provider.orders.cancel",
                                                "name": "Provider cancellation denied by the active rule",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a197ca-c8e4-72f1-aebb-37cdfa696911/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderCancellationTest::test_ac_prov_016_without_an_allowing_provider_rule_the_policy_fails_closed"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a197ca-c8e4-72f1-aebb-37cdfa696911/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a197ca-c8e4-72f1-aebb-37cdfa696911",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cancellation is unavailable under the current policy.\",\n    \"data\": {\n        \"error_code\": \"ORDER_CANCELLATION_NOT_ALLOWED\",\n        \"correlation_id\": \"580defea-0352-4d8c-b3a8-894bafe1f281\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider cancellation locked after departure",
                                            "_joshen": {
                                                "route": "provider.orders.cancel",
                                                "name": "Provider cancellation locked after departure",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a197ca-c837-73f4-9d99-d4f3dfd7fba7/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderCancellationTest::test_ac_prov_016_cancellation_is_locked_once_she_departs"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a197ca-c837-73f4-9d99-d4f3dfd7fba7/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a197ca-c837-73f4-9d99-d4f3dfd7fba7",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Cancellation is unavailable because execution has started.\",\n    \"data\": {\n        \"error_code\": \"ORDER_CANCELLATION_LOCKED\",\n        \"correlation_id\": \"52b4a61b-cc3f-4516-a093-848280711c63\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Request not yet accepted cannot be cancelled",
                                            "_joshen": {
                                                "route": "provider.orders.cancel",
                                                "name": "Request not yet accepted cannot be cancelled",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a197ca-c88e-7216-95bb-9a5077a7a7f2/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderCancellationTest::test_ac_prov_016_a_request_still_waiting_for_her_answer_is_rejected_not_cancelled"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a197ca-c88e-7216-95bb-9a5077a7a7f2/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a197ca-c88e-7216-95bb-9a5077a7a7f2",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"3bcbc6e1-e30a-410b-a989-307cf80b75ff\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Status",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "status"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.status`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `status`\n- **Description:** Execution stage to move her own order to: preparing (optional), on_the_way, arrived, in_progress or completed. The flags can_prepare, can_start_travel, can_mark_arrived, can_start_service and can_complete say which one is allowed now (BR-19, TD-101).\n- **Type:** `string (enum)`\n- **Allowed values:** `preparing`, `on_the_way`, `arrived`, `in_progress`, `completed`\n- **Required:** required\n- **Example:** `on_the_way`\n- **Validation rules:** `required|in:\"preparing\",\"on_the_way\",\"arrived\",\"in_progress\",\"completed\"`\n- `required` — must be provided.\n- `in:\"preparing\",\"on_the_way\",\"arrived\",\"in_progress\",\"completed\"` — must be one of: \"preparing\", \"on_the_way\", \"arrived\", \"in_progress\", \"completed\".\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Order moved to arrived\n- `200` Order moved to completed\n- `200` Order moved to in_progress\n- `200` Order moved to on_the_way\n- `200` Order moved to preparing\n- `200` Repeat of the current stage changes nothing\n- `200` Service completion confirmed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Provider account not approved — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Another provider order\n- `422` Arrival before departure — `error_code: INVALID_STATE_TRANSITION`\n- `422` Completion before the service started — `error_code: INVALID_STATE_TRANSITION`\n- `422` Completion before the service started (arrived) — `error_code: INVALID_STATE_TRANSITION`\n- `422` Departure before the order is confirmed — `error_code: INVALID_STATE_TRANSITION`\n- `422` Departure of an order that uses a Joshen driver — `error_code: ORDER_STAGE_MANAGED_BY_DRIVER`\n- `422` Package purchase order — `error_code: ORDER_NOT_EXECUTABLE`\n- `422` Preparing after departure — `error_code: INVALID_STATE_TRANSITION`\n- `422` Scheduled order started before its window — `error_code: ORDER_EXECUTION_TOO_EARLY`\n- `422` Start after completion — `error_code: INVALID_STATE_TRANSITION`\n- `422` Status is not an execution stage\n- `422` Status missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-41ff-7130-8485-053d4118d84d\",\n        \"code\": \"JSH-esxn81972370\",\n        \"status\": {\n            \"value\": \"arrived\",\n            \"label\": \"Arrived\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-4205-7357-9d3c-b1d1c03f1fca\",\n            \"name\": \"Emma Wilkinson\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"0.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": true,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"42036 Johnathon Shoals Apt. 521\\nLessieside, WV 56846-6300\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"0.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"self\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Order moved to arrived",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Order moved to arrived",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "arrived"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_provider_walks_her_order_through_every_stage_and_the_customer_sees_each"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-41ff-7130-8485-053d4118d84d",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"arrived\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-41ff-7130-8485-053d4118d84d\",\n        \"code\": \"JSH-esxn81972370\",\n        \"status\": {\n            \"value\": \"arrived\",\n            \"label\": \"Arrived\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-4205-7357-9d3c-b1d1c03f1fca\",\n            \"name\": \"Emma Wilkinson\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"0.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": true,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"42036 Johnathon Shoals Apt. 521\\nLessieside, WV 56846-6300\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"0.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"self\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order moved to completed",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Order moved to completed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "completed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_provider_walks_her_order_through_every_stage_and_the_customer_sees_each"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-41ff-7130-8485-053d4118d84d",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"completed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-41ff-7130-8485-053d4118d84d\",\n        \"code\": \"JSH-esxn81972370\",\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-4205-7357-9d3c-b1d1c03f1fca\",\n            \"name\": \"Emma Wilkinson\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"0.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": true,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"42036 Johnathon Shoals Apt. 521\\nLessieside, WV 56846-6300\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"0.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"self\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order moved to in_progress",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Order moved to in_progress",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "in_progress"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_provider_walks_her_order_through_every_stage_and_the_customer_sees_each"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-41ff-7130-8485-053d4118d84d",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"in_progress\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-41ff-7130-8485-053d4118d84d\",\n        \"code\": \"JSH-esxn81972370\",\n        \"status\": {\n            \"value\": \"in_progress\",\n            \"label\": \"In progress\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-4205-7357-9d3c-b1d1c03f1fca\",\n            \"name\": \"Emma Wilkinson\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"0.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": true,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"42036 Johnathon Shoals Apt. 521\\nLessieside, WV 56846-6300\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"0.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"self\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order moved to on_the_way",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Order moved to on_the_way",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "on_the_way"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_provider_walks_her_order_through_every_stage_and_the_customer_sees_each"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-41ff-7130-8485-053d4118d84d",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-41ff-7130-8485-053d4118d84d\",\n        \"code\": \"JSH-esxn81972370\",\n        \"status\": {\n            \"value\": \"on_the_way\",\n            \"label\": \"On the way\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-4205-7357-9d3c-b1d1c03f1fca\",\n            \"name\": \"Emma Wilkinson\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"0.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": true,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"42036 Johnathon Shoals Apt. 521\\nLessieside, WV 56846-6300\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"0.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"self\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Order moved to preparing",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Order moved to preparing",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "preparing"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_provider_walks_her_order_through_every_stage_and_the_customer_sees_each"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-41ff-7130-8485-053d4118d84d/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-41ff-7130-8485-053d4118d84d",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"preparing\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-41ff-7130-8485-053d4118d84d\",\n        \"code\": \"JSH-esxn81972370\",\n        \"status\": {\n            \"value\": \"preparing\",\n            \"label\": \"Preparing\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-4205-7357-9d3c-b1d1c03f1fca\",\n            \"name\": \"Emma Wilkinson\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"0.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": true,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"42036 Johnathon Shoals Apt. 521\\nLessieside, WV 56846-6300\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"0.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": true,\n            \"can_request_driver\": true,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Repeat of the current stage changes nothing",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Repeat of the current stage changes nothing",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4478-70ae-b731-8a66d1631941/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "on_the_way"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_repeating_the_current_stage_is_a_no_op"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4478-70ae-b731-8a66d1631941/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4478-70ae-b731-8a66d1631941",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-4478-70ae-b731-8a66d1631941\",\n        \"code\": \"JSH-giho26258774\",\n        \"status\": {\n            \"value\": \"on_the_way\",\n            \"label\": \"On the way\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-4483-7363-8e10-83025c106fca\",\n            \"name\": \"Brenda Dare\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"0.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": true,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"918 Edwardo Tunnel Apt. 705\\nRennerfurt, KY 34303-0103\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"0.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"self\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Service completion confirmed",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Service completion confirmed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4c16-71e4-ae82-e6a41ee949c1/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "completed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_020_completion_closes_the_order_notifies_the_customer_and_opens_rating"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4c16-71e4-ae82-e6a41ee949c1/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4c16-71e4-ae82-e6a41ee949c1",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"completed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-4c16-71e4-ae82-e6a41ee949c1\",\n        \"code\": \"JSH-sfuv91674008\",\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"Unpaid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-4c1b-7242-9b06-eb0ae2a00226\",\n            \"name\": \"Lucie Bayer\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"0.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": true,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"452 Kirlin Isle Apt. 267\\nEast Norbert, AR 44193\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"0.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": null,\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "status"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Provider account not approved",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Provider account not approved",
                                                "code": 403,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4b6f-716c-8582-b234a1b4c599/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "on_the_way"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_only_her_own_order_and_only_when_approved"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4b6f-716c-8582-b234a1b4c599/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4b6f-716c-8582-b234a1b4c599",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"63d9d514-e3bb-4500-b8ad-252094449aff\",\n        \"account_status\": \"incomplete\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "status"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Another provider order",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Another provider order",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4b4d-718c-bf3f-12f66281ae37/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "on_the_way"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_only_her_own_order_and_only_when_approved"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4b4d-718c-bf3f-12f66281ae37/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4b4d-718c-bf3f-12f66281ae37",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Arrival before departure",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Arrival before departure",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4621-73a6-b625-784f93e99ebd/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "arrived"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_skipped_reversed_or_unconfirmed_stage_is_invalid_state_transition"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4621-73a6-b625-784f93e99ebd/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4621-73a6-b625-784f93e99ebd",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"arrived\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"6802504f-9a1e-4ead-84f4-13c00c96e715\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Completion before the service started",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Completion before the service started",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4654-7218-9c8e-7b7b1fbc0c4e/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "completed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_skipped_reversed_or_unconfirmed_stage_is_invalid_state_transition"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4654-7218-9c8e-7b7b1fbc0c4e/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4654-7218-9c8e-7b7b1fbc0c4e",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"completed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"06845224-aa66-45bc-b2fd-de3a311e96b3\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Completion before the service started (arrived)",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Completion before the service started (arrived)",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4691-72cd-8ef5-0e7cc908a67a/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "completed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_skipped_reversed_or_unconfirmed_stage_is_invalid_state_transition"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4691-72cd-8ef5-0e7cc908a67a/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4691-72cd-8ef5-0e7cc908a67a",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"completed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"0fa31fd1-6271-4395-903e-d8e9eafff957\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Departure before the order is confirmed",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Departure before the order is confirmed",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-46ae-728b-b56d-49e8a9a42889/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "on_the_way"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_skipped_reversed_or_unconfirmed_stage_is_invalid_state_transition"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-46ae-728b-b56d-49e8a9a42889/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-46ae-728b-b56d-49e8a9a42889",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"8cbda756-ab75-4288-9285-b9ef3360e7db\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Departure of an order that uses a Joshen driver",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Departure of an order that uses a Joshen driver",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-49eb-702e-bb04-0e2a6c34b0f6/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "on_the_way"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_joshen_driver_order_leaves_departure_to_the_driver_trip"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-49eb-702e-bb04-0e2a6c34b0f6/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-49eb-702e-bb04-0e2a6c34b0f6",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order uses a Joshen driver, so the departure is recorded from the driver trip.\",\n    \"data\": {\n        \"error_code\": \"ORDER_STAGE_MANAGED_BY_DRIVER\",\n        \"correlation_id\": \"d4bcdfe9-d2ec-4cca-b07b-98ae00bb034b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package purchase order",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Package purchase order",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4ade-73dc-bb6d-1146e30dc0ec/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "on_the_way"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_package_purchase_has_no_visit_to_execute"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4ade-73dc-bb6d-1146e30dc0ec/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4ade-73dc-bb6d-1146e30dc0ec",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order has no visit to carry out.\",\n    \"data\": {\n        \"error_code\": \"ORDER_NOT_EXECUTABLE\",\n        \"correlation_id\": \"2b2c22fa-5f10-4e27-becb-374164e254ad\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Preparing after departure",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Preparing after departure",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4672-71b3-884d-d15f2144027b/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "preparing"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_skipped_reversed_or_unconfirmed_stage_is_invalid_state_transition"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4672-71b3-884d-d15f2144027b/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4672-71b3-884d-d15f2144027b",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"preparing\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"5b201d0a-b7e1-4155-aa30-a16bc3fdd56d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Scheduled order started before its window",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Scheduled order started before its window",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-4894-72d7-906f-e8ce1566363d/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "on_the_way"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_scheduled_order_cannot_leave_before_its_window_opens"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-4894-72d7-906f-e8ce1566363d/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-4894-72d7-906f-e8ce1566363d",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"on_the_way\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This scheduled order cannot be started yet.\",\n    \"data\": {\n        \"error_code\": \"ORDER_EXECUTION_TOO_EARLY\",\n        \"correlation_id\": \"ea74fa09-d864-4409-b9fe-b1263433d01f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Start after completion",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Start after completion",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-46e0-7102-b883-d7d9a8d26438/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "in_progress"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_a_skipped_reversed_or_unconfirmed_stage_is_invalid_state_transition"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-46e0-7102-b883-d7d9a8d26438/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-46e0-7102-b883-d7d9a8d26438",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"in_progress\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"59dc9b36-6fbe-45b9-8124-581a196865d4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Status is not an execution stage",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Status is not an execution stage",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-47e9-7215-b657-4dbb058f91b1/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": ""
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_the_status_must_be_an_execution_stage"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-47e9-7215-b657-4dbb058f91b1/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-47e9-7215-b657-4dbb058f91b1",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The status field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"status\": [\n                \"The status field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Status missing",
                                            "_joshen": {
                                                "route": "provider.orders.status",
                                                "name": "Status missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19791-47e9-7215-b657-4dbb058f91b1/status",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_019_the_status_must_be_an_execution_stage"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-47e9-7215-b657-4dbb058f91b1/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-47e9-7215-b657-4dbb058f91b1",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The status field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"status\": [\n                \"The status field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Confirm Arrival",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/confirm-arrival",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "confirm-arrival"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.confirm-arrival`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved, throttle:order-arrival`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Provider confirms the driver arrival\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Another provider order is hidden — `error_code: ENTITY_NOT_FOUND`\n- `422` Provider order has no driver trip to confirm — `error_code: INVALID_STATE_TRANSITION`\n- `429` Too many arrival confirmations — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Arrival confirmed. The trip is complete.\",\n    \"data\": {\n        \"id\": \"01a19b8b-955d-7216-8f85-cc5c4eecbc7a\",\n        \"code\": \"JSH-lgpl83235503\",\n        \"status\": {\n            \"value\": \"arrived\",\n            \"label\": \"Arrived\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19b8b-954f-7306-b4d3-461dc2fe4602\",\n            \"name\": \"Elroy Cartwright\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"80.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": true,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": true,\n        \"can_complete\": false,\n        \"can_cancel\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"5326 Rosalee Loaf Suite 613\\nCrooksmouth, NJ 23605-5863\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"100.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-11-02T09:16:18+00:00\",\n        \"transport\": {\n            \"mode\": \"joshen_driver\",\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": {\n                \"id\": \"01a19b8b-9569-70e5-9915-de87aebb6aad\",\n                \"code\": \"TRP-isam32006700\",\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"search_expires_at\": \"2026-11-02T09:19:18+00:00\",\n                \"delivery_fee\": \"25.00\",\n                \"driver\": {\n                    \"first_name\": \"Abby\",\n                    \"vehicle\": {\n                        \"type\": \"car\",\n                        \"make_model\": \"Toyota Yaris\",\n                        \"plate_number\": \"CAR-wlwr37294420\"\n                    }\n                },\n                \"arrival_confirmed_by\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"can_confirm_arrival\": false\n            }\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider confirms the driver arrival",
                                            "_joshen": {
                                                "route": "provider.orders.confirm-arrival",
                                                "name": "Provider confirms the driver arrival",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19b8b-955d-7216-8f85-cc5c4eecbc7a/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_provider_confirms_first_and_customer_confirmation_is_a_no_op"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19b8b-955d-7216-8f85-cc5c4eecbc7a/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19b8b-955d-7216-8f85-cc5c4eecbc7a",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Arrival confirmed. The trip is complete.\",\n    \"data\": {\n        \"id\": \"01a19b8b-955d-7216-8f85-cc5c4eecbc7a\",\n        \"code\": \"JSH-lgpl83235503\",\n        \"status\": {\n            \"value\": \"arrived\",\n            \"label\": \"Arrived\"\n        },\n        \"payment_status\": {\n            \"value\": \"paid\",\n            \"label\": \"Paid\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"Instant\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19b8b-954f-7306-b4d3-461dc2fe4602\",\n            \"name\": \"Elroy Cartwright\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": null,\n        \"net_earning\": \"80.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": true,\n        \"can_prepare\": false,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": true,\n        \"can_complete\": false,\n        \"can_cancel\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"5326 Rosalee Loaf Suite 613\\nCrooksmouth, NJ 23605-5863\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"100.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-11-02T09:16:18+00:00\",\n        \"transport\": {\n            \"mode\": \"joshen_driver\",\n            \"chosen_at\": null,\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": {\n                \"id\": \"01a19b8b-9569-70e5-9915-de87aebb6aad\",\n                \"code\": \"TRP-isam32006700\",\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"search_expires_at\": \"2026-11-02T09:19:18+00:00\",\n                \"delivery_fee\": \"25.00\",\n                \"driver\": {\n                    \"first_name\": \"Abby\",\n                    \"vehicle\": {\n                        \"type\": \"car\",\n                        \"make_model\": \"Toyota Yaris\",\n                        \"plate_number\": \"CAR-wlwr37294420\"\n                    }\n                },\n                \"arrival_confirmed_by\": {\n                    \"value\": \"provider\",\n                    \"label\": \"Provider\"\n                },\n                \"can_confirm_arrival\": false\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "confirm-arrival"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "confirm-arrival"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Another provider order is hidden",
                                            "_joshen": {
                                                "route": "provider.orders.confirm-arrival",
                                                "name": "Another provider order is hidden",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19b8b-9966-71db-a268-b37a647bdf7a/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_customer_confirms_and_order_without_driver_trip_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19b8b-9966-71db-a268-b37a647bdf7a/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19b8b-9966-71db-a268-b37a647bdf7a",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"booking.order_not_found\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"f892c0c2-1b70-4dee-b62c-62c37ebed919\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider order has no driver trip to confirm",
                                            "_joshen": {
                                                "route": "provider.orders.confirm-arrival",
                                                "name": "Provider order has no driver trip to confirm",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19b8b-9beb-735e-8ae6-4f121dc222c9/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_customer_confirms_and_order_without_driver_trip_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19b8b-9beb-735e-8ae6-4f121dc222c9/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19b8b-9beb-735e-8ae6-4f121dc222c9",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The driver has not reported arrival at the customer yet.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"5dbba84c-08b5-448b-905a-6277b59f2475\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many arrival confirmations",
                                            "_joshen": {
                                                "route": "provider.orders.confirm-arrival",
                                                "name": "Too many arrival confirmations",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/orders/01a19b8b-9ecc-732b-9a36-1b78650dd2a1/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_customer_and_provider_confirmations_are_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19b8b-9ecc-732b-9a36-1b78650dd2a1/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19b8b-9ecc-732b-9a36-1b78650dd2a1",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Transport",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/transport",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "transport"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.transport`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `transport_mode`\n- **Description:** Travel method: self (independent provider travel) or joshen_driver (request an app driver) (PROV-017, BR-25).\n- **Type:** `string (enum)`\n- **Allowed values:** `self`, `joshen_driver`\n- **Required:** required\n- **Example:** `joshen_driver`\n- **Validation rules:** `required|in:\"self\",\"joshen_driver\"`\n- `required` — must be provided.\n- `in:\"self\",\"joshen_driver\"` — must be one of: \"self\", \"joshen_driver\".\n### `ack_driver_terms`\n- **Description:** Confirmation pop-up acknowledgement; required and must be true when choosing joshen_driver (PROV-018).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `boolean|custom:Closure`\n- `boolean` — must be true, false, 1, or 0.\n- `custom:Closure` — checked by the Closure rule.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Provider chooses self travel\n- `200` Provider requests a driver\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Transport order not found — `error_code: ENTITY_NOT_FOUND`\n- `422` Driver already committed — `error_code: TRANSPORT_CHOICE_NOT_ALLOWED`\n- `422` Driver terms acknowledgement required\n- `422` Package purchase cannot choose transport — `error_code: ORDER_NOT_EXECUTABLE`\n- `422` Transport choice too early — `error_code: ORDER_EXECUTION_TOO_EARLY`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-693b-702e-9f6c-509bd0306f20\",\n        \"code\": \"JSH-ijeh87752680\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"مؤكد\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"غير مدفوع\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"فوري\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-6941-7280-9c2b-1f5883f4e2a5\",\n            \"name\": \"Nels Aufderhar IV\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"80.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": true,\n        \"can_start_travel\": true,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"Riyadh, Al Nakheel Dist\",\n            \"lat\": \"24.774300\",\n            \"lng\": \"46.738600\"\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"100.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"self\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": true,\n            \"can_request_driver\": true,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"transport_mode\": \"joshen_driver\",\n    \"ack_driver_terms\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider chooses self travel",
                                            "_joshen": {
                                                "route": "provider.orders.transport",
                                                "name": "Provider chooses self travel",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a19791-693b-702e-9f6c-509bd0306f20/transport",
                                                    "query": null,
                                                    "body": {
                                                        "transport_mode": "self"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\TransportChoiceTest::test_ac_prov_017_choose_self_travel"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-693b-702e-9f6c-509bd0306f20/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-693b-702e-9f6c-509bd0306f20",
                                                        "transport"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"self\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-693b-702e-9f6c-509bd0306f20\",\n        \"code\": \"JSH-ijeh87752680\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"مؤكد\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"غير مدفوع\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"فوري\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-6941-7280-9c2b-1f5883f4e2a5\",\n            \"name\": \"Nels Aufderhar IV\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"80.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": true,\n        \"can_start_travel\": true,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"Riyadh, Al Nakheel Dist\",\n            \"lat\": \"24.774300\",\n            \"lng\": \"46.738600\"\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"100.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"self\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": true,\n            \"can_request_driver\": true,\n            \"can_retry_driver\": false,\n            \"trip\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Provider requests a driver",
                                            "_joshen": {
                                                "route": "provider.orders.transport",
                                                "name": "Provider requests a driver",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a19791-69f5-700a-9d19-66d1d80783ff/transport",
                                                    "query": null,
                                                    "body": {
                                                        "transport_mode": "joshen_driver",
                                                        "ack_driver_terms": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\TransportChoiceTest::test_ac_prov_018_request_driver_creates_trip"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-69f5-700a-9d19-66d1d80783ff/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-69f5-700a-9d19-66d1d80783ff",
                                                        "transport"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"joshen_driver\",\n    \"ack_driver_terms\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-69f5-700a-9d19-66d1d80783ff\",\n        \"code\": \"JSH-dvuf08625528\",\n        \"status\": {\n            \"value\": \"confirmed\",\n            \"label\": \"مؤكد\"\n        },\n        \"payment_status\": {\n            \"value\": \"unpaid\",\n            \"label\": \"غير مدفوع\"\n        },\n        \"booking_type\": {\n            \"value\": \"instant\",\n            \"label\": \"فوري\"\n        },\n        \"service_name\": null,\n        \"customer\": {\n            \"id\": \"01a19791-69fa-72f7-9ced-d194b3a448f0\",\n            \"name\": \"Gussie Mills Jr.\"\n        },\n        \"scheduled_at\": null,\n        \"eta_minutes\": 45,\n        \"net_earning\": \"80.00\",\n        \"respond_before\": null,\n        \"seconds_left\": null,\n        \"can_respond\": false,\n        \"can_chat\": false,\n        \"can_prepare\": true,\n        \"can_start_travel\": false,\n        \"can_mark_arrived\": false,\n        \"can_start_service\": false,\n        \"can_complete\": false,\n        \"can_rate\": false,\n        \"services\": [],\n        \"address\": {\n            \"text\": \"Riyadh, Al Nakheel Dist\",\n            \"lat\": \"24.774300\",\n            \"lng\": \"46.738600\"\n        },\n        \"estimated_duration_min\": null,\n        \"services_amount\": \"100.00\",\n        \"provider_commission_rate\": \"20.00\",\n        \"notes_to_provider\": null,\n        \"rejection_reason\": null,\n        \"created_at\": \"2026-10-25T07:00:00+00:00\",\n        \"transport\": {\n            \"mode\": \"joshen_driver\",\n            \"chosen_at\": \"2026-10-25T07:00:00+00:00\",\n            \"can_choose_transport\": false,\n            \"can_request_driver\": false,\n            \"can_retry_driver\": false,\n            \"trip\": {\n                \"id\": \"01a19791-6a12-70e3-98f3-ebf7a20ee9a1\",\n                \"code\": \"TRP-18951\",\n                \"status\": {\n                    \"value\": \"searching\",\n                    \"label\": \"جاري البحث عن مندوبة\"\n                },\n                \"search_expires_at\": \"2026-10-25T07:03:00+00:00\",\n                \"delivery_fee\": \"25.00\",\n                \"driver\": null,\n                \"arrival_confirmed_by\": null,\n                \"can_confirm_arrival\": false\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "transport"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"joshen_driver\",\n    \"ack_driver_terms\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "transport"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"joshen_driver\",\n    \"ack_driver_terms\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Transport order not found",
                                            "_joshen": {
                                                "route": "provider.orders.transport",
                                                "name": "Transport order not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a19791-70a7-7025-8d32-b8f971d38f7a/transport",
                                                    "query": null,
                                                    "body": {
                                                        "transport_mode": "self"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\TransportChoiceTest::test_foreign_order_returns_404"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-70a7-7025-8d32-b8f971d38f7a/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-70a7-7025-8d32-b8f971d38f7a",
                                                        "transport"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"self\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"booking.order_not_found\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"e91fa308-d1dd-4e55-b77e-f9ead792ecec\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver already committed",
                                            "_joshen": {
                                                "route": "provider.orders.transport",
                                                "name": "Driver already committed",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a19791-7225-7027-a0c4-561026b22d60/transport",
                                                    "query": null,
                                                    "body": {
                                                        "transport_mode": "self"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\TransportChoiceTest::test_0a_switch_to_self_refused_when_driver_accepted"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-7225-7027-a0c4-561026b22d60/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-7225-7027-a0c4-561026b22d60",
                                                        "transport"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"self\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن التبديل إلى التنقل الذاتي بعد قبول المندوبة للرحلة.\",\n    \"data\": {\n        \"error_code\": \"TRANSPORT_CHOICE_NOT_ALLOWED\",\n        \"correlation_id\": \"d7c28f32-8a7a-4e34-99d8-fcd2eea80a22\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver terms acknowledgement required",
                                            "_joshen": {
                                                "route": "provider.orders.transport",
                                                "name": "Driver terms acknowledgement required",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a19791-6a66-71fb-bac9-4131116adcef/transport",
                                                    "query": null,
                                                    "body": {
                                                        "transport_mode": "joshen_driver",
                                                        "ack_driver_terms": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\TransportChoiceTest::test_ac_prov_018_ack_required_for_driver"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-6a66-71fb-bac9-4131116adcef/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-6a66-71fb-bac9-4131116adcef",
                                                        "transport"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"joshen_driver\",\n    \"ack_driver_terms\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"يجب الإقرار بشروط طلب المندوبة للمتابعة.\",\n    \"data\": {\n        \"errors\": {\n            \"ack_driver_terms\": [\n                \"يجب الإقرار بشروط طلب المندوبة للمتابعة.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Package purchase cannot choose transport",
                                            "_joshen": {
                                                "route": "provider.orders.transport",
                                                "name": "Package purchase cannot choose transport",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a19791-699f-719e-8477-21d0da56dcdf/transport",
                                                    "query": null,
                                                    "body": {
                                                        "transport_mode": "self"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\TransportChoiceTest::test_ac_prov_017_transport_rejects_non_executable_package_purchase"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-699f-719e-8477-21d0da56dcdf/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-699f-719e-8477-21d0da56dcdf",
                                                        "transport"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"self\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا توجد زيارة لتنفيذها في هذا الطلب.\",\n    \"data\": {\n        \"error_code\": \"ORDER_NOT_EXECUTABLE\",\n        \"correlation_id\": \"561ff212-d14d-472f-bf9e-1d0b00ad7d2a\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Transport choice too early",
                                            "_joshen": {
                                                "route": "provider.orders.transport",
                                                "name": "Transport choice too early",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a19791-6ef4-73a3-99e4-fcbf81864a48/transport",
                                                    "query": null,
                                                    "body": {
                                                        "transport_mode": "self"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\TransportChoiceTest::test_scheduled_transport_choice_before_window_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a19791-6ef4-73a3-99e4-fcbf81864a48/transport",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a19791-6ef4-73a3-99e4-fcbf81864a48",
                                                        "transport"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"transport_mode\": \"self\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لا يمكن بدء هذا الطلب المجدول بعد.\",\n    \"data\": {\n        \"error_code\": \"ORDER_EXECUTION_TOO_EARLY\",\n        \"correlation_id\": \"e0137b1b-8b3f-4f1e-8dfb-028c1776d68e\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Location",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"order_id\",\"Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/orders/:order/location",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "orders",
                                                ":order",
                                                "location"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "order",
                                                    "value": "{{order_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.orders.location`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved, throttle:dispatch-availability`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `lat`\n- **Description:** Her current latitude in degrees; accepted only while she travels herself and the order is on the way (TD-183).\n- **Type:** `number`\n- **Required:** required\n- **Example:** `24.7136`\n- **Validation rules:** `required|numeric|between:-90,90`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Her current longitude in degrees.\n- **Type:** `number`\n- **Required:** required\n- **Example:** `46.6753`\n- **Validation rules:** `required|numeric|between:-180,180`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n\n**Variables:**\n- Uses `{{order_id}}` — Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Position shared while travelling\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Order not found\n- `422` Invalid coordinates\n- `422` Not travelling herself on the way — `error_code: INVALID_STATE_TRANSITION`\n- `429` Too many location updates — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم تحديث البيانات بنجاح\",\n    \"data\": {\n        \"recorded_at\": \"2026-10-25T07:00:00.000+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Position shared while travelling",
                                            "_joshen": {
                                                "route": "provider.orders.location",
                                                "name": "Position shared while travelling",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a1c0dd-aaf6-7280-8ed0-48c6e562c9bf/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 24.7,
                                                        "lng": 46.7
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderSelfTravelLocationTest::test_she_shares_her_position_on_the_way_and_the_customer_room_gets_the_estimate"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c0dd-aaf6-7280-8ed0-48c6e562c9bf/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c0dd-aaf6-7280-8ed0-48c6e562c9bf",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7,\n    \"lng\": 46.7\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم تحديث البيانات بنجاح\",\n    \"data\": {\n        \"recorded_at\": \"2026-10-25T07:00:00.000+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "location"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/:order/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        ":order",
                                                        "location"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "order",
                                                            "value": "{{order_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Order not found",
                                            "_joshen": {
                                                "route": "provider.orders.location",
                                                "name": "Order not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a1c0dd-ab93-720c-bd21-aeeb6765d71f/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 24.7,
                                                        "lng": 46.7
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderSelfTravelLocationTest::test_it_is_refused_outside_self_travel_on_the_way_and_for_a_foreign_order"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c0dd-ab93-720c-bd21-aeeb6765d71f/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c0dd-ab93-720c-bd21-aeeb6765d71f",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7,\n    \"lng\": 46.7\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"المورد غير موجود\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Invalid coordinates",
                                            "_joshen": {
                                                "route": "provider.orders.location",
                                                "name": "Invalid coordinates",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a1c0dd-ab93-720c-bd21-aeeb6765d71f/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 91,
                                                        "lng": -181
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderSelfTravelLocationTest::test_it_is_refused_outside_self_travel_on_the_way_and_for_a_foreign_order"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c0dd-ab93-720c-bd21-aeeb6765d71f/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c0dd-ab93-720c-bd21-aeeb6765d71f",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 91,\n    \"lng\": -181\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"حقل lat يجب أن يكون بين -90 و 90. (و 1 خطأ آخر)\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"حقل lat يجب أن يكون بين -90 و 90.\"\n            ],\n            \"lng\": [\n                \"حقل lng يجب أن يكون بين -180 و 180.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Not travelling herself on the way",
                                            "_joshen": {
                                                "route": "provider.orders.location",
                                                "name": "Not travelling herself on the way",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a1c0dd-ab9f-728d-8c95-206261e755ca/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 24.7,
                                                        "lng": 46.7
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderSelfTravelLocationTest::test_it_is_refused_outside_self_travel_on_the_way_and_for_a_foreign_order"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c0dd-ab9f-728d-8c95-206261e755ca/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c0dd-ab9f-728d-8c95-206261e755ca",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7,\n    \"lng\": 46.7\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"لم يعد هذا الإجراء متاحاً للطلب.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"da4573c4-b258-4528-96da-f8e38b9a48a4\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many location updates",
                                            "_joshen": {
                                                "route": "provider.orders.location",
                                                "name": "Too many location updates",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/provider/orders/01a1c0dd-b0ee-7041-8804-bc7fa0ebde27/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 24.7,
                                                        "lng": 46.7
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ProviderSelfTravelLocationTest::test_the_location_budget_is_rate_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/orders/01a1c0dd-b0ee-7041-8804-bc7fa0ebde27/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "orders",
                                                        "01a1c0dd-b0ee-7041-8804-bc7fa0ebde27",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7,\n    \"lng\": 46.7\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"طلبات كثيرة. يرجى المحاولة لاحقاً.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "order_id",
                                                "set_by": [
                                                    "admin.orders.index",
                                                    "admin.orders.show",
                                                    "client.orders.store",
                                                    "client.orders.index",
                                                    "client.orders.show",
                                                    "provider.orders.index",
                                                    "provider.orders.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/orders, GET /api/v1/admin/orders/{order}, POST /api/v1/client/orders, GET /api/v1/client/orders, GET /api/v1/client/orders/{order}, GET /api/v1/provider/orders, GET /api/v1/provider/orders/{order}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Earnings",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/earnings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "earnings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "available",
                                                    "description": "Earning status: pending, available (can be requested), in_payout (claimed by a transfer request), paid (transferred) or reversed (order cancelled or refunded). — `string (enum)`, one of: `pending`, `available`, `in_payout`, `paid`, `reversed`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[source_type]",
                                                    "value": "order",
                                                    "description": "What produced the amount: order, package_session, trip, cancellation_fee, subscription_deduction (featured plan paid from earnings, negative) or adjustment. — `string (enum)`, one of: `order`, `package_session`, `trip`, `cancellation_fee`, `subscription_deduction`, `adjustment`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.earnings.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Earning status: pending, available (can be requested), in_payout (claimed by a transfer request), paid (transferred) or reversed (order cancelled or refunded). — `string (enum)`, one of: `pending`, `available`, `in_payout`, `paid`, `reversed` (optional)\n- `filters[source_type]` — What produced the amount: order, package_session, trip, cancellation_fee, subscription_deduction (featured plan paid from earnings, negative) or adjustment. — `string (enum)`, one of: `order`, `package_session`, `trip`, `cancellation_fee`, `subscription_deduction`, `adjustment` (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Only transferred amounts\n- `200` Totals and earnings\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"totals\": {\n            \"due\": \"80.00\",\n            \"awaiting_transfer\": \"50.00\",\n            \"transferred\": \"40.00\",\n            \"commission_deducted\": \"30.00\"\n        },\n        \"earnings\": {\n            \"data\": [\n                {\n                    \"id\": \"01a19b8f-ec2f-73d9-8c06-2b8d52891af0\",\n                    \"source_type\": {\n                        \"value\": \"order\",\n                        \"label\": \"Service\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-ec1f-7241-bc79-35dea2ee3272\",\n                        \"code\": \"JSH-aamd01161482\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"40.00\",\n                    \"commission_rate\": \"0.00\",\n                    \"commission_amount\": \"0.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"40.00\",\n                    \"status\": {\n                        \"value\": \"paid\",\n                        \"label\": \"Transferred\"\n                    },\n                    \"available_at\": null,\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                }\n            ],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                \"last\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": 1,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/provider/earnings\",\n                \"per_page\": 15,\n                \"to\": 1,\n                \"total\": 1\n            }\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Only transferred amounts",
                                            "_joshen": {
                                                "route": "provider.earnings.index",
                                                "name": "Only transferred amounts",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/earnings",
                                                    "query": {
                                                        "filters": {
                                                            "status": "paid"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_earnings_list_shows_totals_rows_and_only_her_own"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/earnings?filters[status]=paid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "earnings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "paid"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"totals\": {\n            \"due\": \"80.00\",\n            \"awaiting_transfer\": \"50.00\",\n            \"transferred\": \"40.00\",\n            \"commission_deducted\": \"30.00\"\n        },\n        \"earnings\": {\n            \"data\": [\n                {\n                    \"id\": \"01a19b8f-ec2f-73d9-8c06-2b8d52891af0\",\n                    \"source_type\": {\n                        \"value\": \"order\",\n                        \"label\": \"Service\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-ec1f-7241-bc79-35dea2ee3272\",\n                        \"code\": \"JSH-aamd01161482\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"40.00\",\n                    \"commission_rate\": \"0.00\",\n                    \"commission_amount\": \"0.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"40.00\",\n                    \"status\": {\n                        \"value\": \"paid\",\n                        \"label\": \"Transferred\"\n                    },\n                    \"available_at\": null,\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                }\n            ],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                \"last\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": 1,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/provider/earnings\",\n                \"per_page\": 15,\n                \"to\": 1,\n                \"total\": 1\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Totals and earnings",
                                            "_joshen": {
                                                "route": "provider.earnings.index",
                                                "name": "Totals and earnings",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/earnings",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_earnings_list_shows_totals_rows_and_only_her_own"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/earnings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "earnings"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"totals\": {\n            \"due\": \"80.00\",\n            \"awaiting_transfer\": \"50.00\",\n            \"transferred\": \"40.00\",\n            \"commission_deducted\": \"30.00\"\n        },\n        \"earnings\": {\n            \"data\": [\n                {\n                    \"id\": \"01a19b8f-ec3b-73f5-8b73-63e9dfe3b090\",\n                    \"source_type\": {\n                        \"value\": \"order\",\n                        \"label\": \"Service\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-ec30-71a4-8391-028b2cb6ea1e\",\n                        \"code\": \"JSH-jvsi51884673\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"108.00\",\n                    \"commission_rate\": \"0.00\",\n                    \"commission_amount\": \"9.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"99.00\",\n                    \"status\": {\n                        \"value\": \"reversed\",\n                        \"label\": \"Reversed\"\n                    },\n                    \"available_at\": null,\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                },\n                {\n                    \"id\": \"01a19b8f-ec2f-73d9-8c06-2b8d52891af0\",\n                    \"source_type\": {\n                        \"value\": \"order\",\n                        \"label\": \"Service\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-ec1f-7241-bc79-35dea2ee3272\",\n                        \"code\": \"JSH-aamd01161482\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"40.00\",\n                    \"commission_rate\": \"0.00\",\n                    \"commission_amount\": \"0.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"40.00\",\n                    \"status\": {\n                        \"value\": \"paid\",\n                        \"label\": \"Transferred\"\n                    },\n                    \"available_at\": null,\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                },\n                {\n                    \"id\": \"01a19b8f-ec1d-71b3-9776-a6f8f7fe28d7\",\n                    \"source_type\": {\n                        \"value\": \"order\",\n                        \"label\": \"Service\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-ec0e-7223-9a54-8ca7c8996b17\",\n                        \"code\": \"JSH-itxh87626761\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"60.00\",\n                    \"commission_rate\": \"0.00\",\n                    \"commission_amount\": \"10.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"50.00\",\n                    \"status\": {\n                        \"value\": \"in_payout\",\n                        \"label\": \"Awaiting transfer\"\n                    },\n                    \"available_at\": null,\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                },\n                {\n                    \"id\": \"01a19b8f-ec0b-70b1-b8cf-1497b6f9dba0\",\n                    \"source_type\": {\n                        \"value\": \"order\",\n                        \"label\": \"Service\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-ebf8-70d0-a6d6-1849d67f7c58\",\n                        \"code\": \"JSH-jgew04260342\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"100.00\",\n                    \"commission_rate\": \"0.00\",\n                    \"commission_amount\": \"20.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"80.00\",\n                    \"status\": {\n                        \"value\": \"available\",\n                        \"label\": \"Available\"\n                    },\n                    \"available_at\": \"2026-11-02T09:21:02+00:00\",\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:02+00:00\"\n                }\n            ],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                \"last\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": 1,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/provider/earnings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/provider/earnings\",\n                \"per_page\": 15,\n                \"to\": 4,\n                \"total\": 4\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/earnings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "earnings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "available",
                                                            "description": "Earning status: pending, available (can be requested), in_payout (claimed by a transfer request), paid (transferred) or reversed (order cancelled or refunded). — `string (enum)`, one of: `pending`, `available`, `in_payout`, `paid`, `reversed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[source_type]",
                                                            "value": "order",
                                                            "description": "What produced the amount: order, package_session, trip, cancellation_fee, subscription_deduction (featured plan paid from earnings, negative) or adjustment. — `string (enum)`, one of: `order`, `package_session`, `trip`, `cancellation_fee`, `subscription_deduction`, `adjustment`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/earnings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "earnings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "available",
                                                            "description": "Earning status: pending, available (can be requested), in_payout (claimed by a transfer request), paid (transferred) or reversed (order cancelled or refunded). — `string (enum)`, one of: `pending`, `available`, `in_payout`, `paid`, `reversed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[source_type]",
                                                            "value": "order",
                                                            "description": "What produced the amount: order, package_session, trip, cancellation_fee, subscription_deduction (featured plan paid from earnings, negative) or adjustment. — `string (enum)`, one of: `order`, `package_session`, `trip`, `cancellation_fee`, `subscription_deduction`, `adjustment`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "provider.earnings.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/earnings",
                                                    "query": {
                                                        "filters": {
                                                            "status": "nope"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_earnings_list_shows_totals_rows_and_only_her_own"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/earnings?filters[status]=nope",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "earnings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "nope"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Payouts",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"payout_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/payouts",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "payouts"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "paid",
                                                    "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.payouts.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled` (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `payout_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` My transfer requests\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a19b8f-ed1f-7142-a5e2-da28905652d6\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"amount\": \"170.00\",\n                \"earnings_count\": 3,\n                \"payout_account\": {\n                    \"id\": \"01a19b8f-ecc2-704f-ba14-2bed6dd9fd70\",\n                    \"holder_name\": \"xkrflbvgehek\",\n                    \"bank_name\": \"cjhnazlghwbh\",\n                    \"iban\": \"****7519\",\n                    \"status\": {\n                        \"value\": \"pending\",\n                        \"label\": \"Pending\"\n                    },\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                },\n                \"bank_reference\": null,\n                \"note\": null,\n                \"requested_at\": \"2026-11-02T09:21:03+00:00\",\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-02T09:21:03+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/payouts?page=1\",\n            \"last\": \"http://localhost/api/v1/provider/payouts?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/payouts?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/payouts\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 My transfer requests",
                                            "_joshen": {
                                                "route": "provider.payouts.index",
                                                "name": "My transfer requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_request_claims_every_available_earning_including_the_featured_deduction"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a19b8f-ed1f-7142-a5e2-da28905652d6\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"amount\": \"170.00\",\n                \"earnings_count\": 3,\n                \"payout_account\": {\n                    \"id\": \"01a19b8f-ecc2-704f-ba14-2bed6dd9fd70\",\n                    \"holder_name\": \"xkrflbvgehek\",\n                    \"bank_name\": \"cjhnazlghwbh\",\n                    \"iban\": \"****7519\",\n                    \"status\": {\n                        \"value\": \"pending\",\n                        \"label\": \"Pending\"\n                    },\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                },\n                \"bank_reference\": null,\n                \"note\": null,\n                \"requested_at\": \"2026-11-02T09:21:03+00:00\",\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-02T09:21:03+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/payouts?page=1\",\n            \"last\": \"http://localhost/api/v1/provider/payouts?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/payouts?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/payouts\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "paid",
                                                            "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "paid",
                                                            "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "provider.payouts.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": {
                                                        "filters": {
                                                            "status": "nope"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_request_claims_every_available_earning_including_the_featured_deduction"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts?filters[status]=nope",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "nope"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "payout_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"payout_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/payouts",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "payouts"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.payouts.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `payout_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Transfer requested\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` A request is already open — `error_code: PAYOUT_REQUEST_OPEN`\n- `422` Bank account was rejected — `error_code: PAYOUT_ACCOUNT_UNUSABLE`\n- `422` Below the minimum transfer — `error_code: PAYOUT_AMOUNT_NOT_PAYABLE`\n- `422` Featured fee exceeds the available amount — `error_code: PAYOUT_AMOUNT_NOT_PAYABLE`\n- `422` No bank account saved — `error_code: PAYOUT_ACCOUNT_UNUSABLE`\n- `422` Nothing available to transfer — `error_code: PAYOUT_NOTHING_AVAILABLE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Transfer request sent.\",\n    \"data\": {\n        \"id\": \"01a19b8f-ed1f-7142-a5e2-da28905652d6\",\n        \"status\": {\n            \"value\": \"requested\",\n            \"label\": \"Requested\"\n        },\n        \"amount\": \"170.00\",\n        \"earnings_count\": 3,\n        \"payout_account\": {\n            \"id\": \"01a19b8f-ecc2-704f-ba14-2bed6dd9fd70\",\n            \"holder_name\": \"xkrflbvgehek\",\n            \"bank_name\": \"cjhnazlghwbh\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-02T09:21:03+00:00\"\n        },\n        \"bank_reference\": null,\n        \"note\": null,\n        \"requested_at\": \"2026-11-02T09:21:03+00:00\",\n        \"paid_at\": null,\n        \"created_at\": \"2026-11-02T09:21:03+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Transfer requested",
                                            "_joshen": {
                                                "route": "provider.payouts.store",
                                                "name": "Transfer requested",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_request_claims_every_available_earning_including_the_featured_deduction"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Transfer request sent.\",\n    \"data\": {\n        \"id\": \"01a19b8f-ed1f-7142-a5e2-da28905652d6\",\n        \"status\": {\n            \"value\": \"requested\",\n            \"label\": \"Requested\"\n        },\n        \"amount\": \"170.00\",\n        \"earnings_count\": 3,\n        \"payout_account\": {\n            \"id\": \"01a19b8f-ecc2-704f-ba14-2bed6dd9fd70\",\n            \"holder_name\": \"xkrflbvgehek\",\n            \"bank_name\": \"cjhnazlghwbh\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-02T09:21:03+00:00\"\n        },\n        \"bank_reference\": null,\n        \"note\": null,\n        \"requested_at\": \"2026-11-02T09:21:03+00:00\",\n        \"paid_at\": null,\n        \"created_at\": \"2026-11-02T09:21:03+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 A request is already open",
                                            "_joshen": {
                                                "route": "provider.payouts.store",
                                                "name": "A request is already open",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_a_second_request_while_one_is_open_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You already have an open transfer request.\",\n    \"data\": {\n        \"error_code\": \"PAYOUT_REQUEST_OPEN\",\n        \"correlation_id\": \"7618d307-facd-4c18-9dde-5a9fc8840551\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Bank account was rejected",
                                            "_joshen": {
                                                "route": "provider.payouts.store",
                                                "name": "Bank account was rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_a_missing_rejected_or_inactive_account_blocks_the_request"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Add valid bank details before requesting a transfer.\",\n    \"data\": {\n        \"error_code\": \"PAYOUT_ACCOUNT_UNUSABLE\",\n        \"correlation_id\": \"9311b467-65ad-4f27-9dc9-e0471670b6c8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Below the minimum transfer",
                                            "_joshen": {
                                                "route": "provider.payouts.store",
                                                "name": "Below the minimum transfer",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_the_minimum_amount_setting_is_enforced"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The available amount is below the minimum transfer of 50.00 SAR.\",\n    \"data\": {\n        \"error_code\": \"PAYOUT_AMOUNT_NOT_PAYABLE\",\n        \"context\": {\n            \"available\": \"40.00\",\n            \"minimum\": \"50.00\"\n        },\n        \"correlation_id\": \"93cd450f-d7de-4708-b50f-f04ad0799813\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Featured fee exceeds the available amount",
                                            "_joshen": {
                                                "route": "provider.payouts.store",
                                                "name": "Featured fee exceeds the available amount",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_nothing_available_or_a_non_positive_net_is_refused_and_claims_nothing"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The available amount is below the minimum transfer of 0.00 SAR.\",\n    \"data\": {\n        \"error_code\": \"PAYOUT_AMOUNT_NOT_PAYABLE\",\n        \"context\": {\n            \"available\": \"-10.00\",\n            \"minimum\": \"0.00\"\n        },\n        \"correlation_id\": \"f176b22d-dfbd-49a3-a70d-f319d839384d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 No bank account saved",
                                            "_joshen": {
                                                "route": "provider.payouts.store",
                                                "name": "No bank account saved",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_a_missing_rejected_or_inactive_account_blocks_the_request"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Add valid bank details before requesting a transfer.\",\n    \"data\": {\n        \"error_code\": \"PAYOUT_ACCOUNT_UNUSABLE\",\n        \"correlation_id\": \"45b8cf4d-918e-47df-a73e-a0e102604c64\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Nothing available to transfer",
                                            "_joshen": {
                                                "route": "provider.payouts.store",
                                                "name": "Nothing available to transfer",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\EarningPayoutTest::test_ac_prov_023_nothing_available_or_a_non_positive_net_is_refused_and_claims_nothing"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You have no available amount to transfer.\",\n    \"data\": {\n        \"error_code\": \"PAYOUT_NOTHING_AVAILABLE\",\n        \"correlation_id\": \"1f54a68f-1dcb-498c-b901-d4e353a930e7\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "payout_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Conversations",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"conversation_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Conversation page number, starting at 1; defaults to 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Summaries per page, 1 to 100; defaults to 15. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.conversations.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Conversation page number, starting at 1; defaults to 1. — `integer` (optional)\n- `per_page` — Summaries per page, 1 to 100; defaults to 15. — `integer` (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `conversation_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` List provider conversations\n- `200` Paginated provider conversations\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Provider conversation page size exceeds maximum\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n                \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                    \"sender_role\": {\n                        \"value\": \"customer\",\n                        \"label\": \"Customer\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"I will arrive shortly.\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 1\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/provider/conversations?page=1\",\n        \"from\": 1,\n        \"last_page\": 1,\n        \"last_page_url\": \"http://localhost/api/v1/provider/conversations?page=1\",\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"&laquo; Previous\",\n                \"page\": null,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/provider/conversations?page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next &raquo;\",\n                \"page\": null,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": null,\n        \"path\": \"http://localhost/api/v1/provider/conversations\",\n        \"per_page\": 15,\n        \"prev_page_url\": null,\n        \"to\": 1,\n        \"total\": 1\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 List provider conversations",
                                            "_joshen": {
                                                "route": "provider.conversations.index",
                                                "name": "List provider conversations",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/conversations",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_paid_participants_receive_private_messages_and_explicit_read_updates"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "conversations"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": \"01a19619-1639-720f-90ef-038fd272c2c7\",\n                \"order_id\": \"01a19619-0ff7-73d9-90e5-52260adae3b0\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-163a-7279-97bc-89f3b14e0392\",\n                    \"sender_role\": {\n                        \"value\": \"customer\",\n                        \"label\": \"Customer\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"I will arrive shortly.\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 1\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/provider/conversations?page=1\",\n        \"from\": 1,\n        \"last_page\": 1,\n        \"last_page_url\": \"http://localhost/api/v1/provider/conversations?page=1\",\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"&laquo; Previous\",\n                \"page\": null,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/provider/conversations?page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next &raquo;\",\n                \"page\": null,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": null,\n        \"path\": \"http://localhost/api/v1/provider/conversations\",\n        \"per_page\": 15,\n        \"prev_page_url\": null,\n        \"to\": 1,\n        \"total\": 1\n    }\n}"
                                        },
                                        {
                                            "name": "200 Paginated provider conversations",
                                            "_joshen": {
                                                "route": "provider.conversations.index",
                                                "name": "Paginated provider conversations",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/conversations",
                                                    "query": {
                                                        "per_page": "2"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_conversation_list_is_paginated_and_orders_empty_conversations_last"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/conversations?per_page=2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "2"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": \"01a19619-5cd2-72e3-8ca5-f609920edfec\",\n                \"order_id\": \"01a19619-5cc3-723d-953d-c58340264718\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-5cd4-72d9-ad26-100c61ea3630\",\n                    \"sender_role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"Message 3\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 0\n            },\n            {\n                \"id\": \"01a19619-5cbc-736d-a415-b9016f647e01\",\n                \"order_id\": \"01a19619-5cae-72ff-87a9-a00efbfad628\",\n                \"status\": {\n                    \"value\": \"open\",\n                    \"label\": \"Open\"\n                },\n                \"latest_message\": {\n                    \"id\": \"01a19619-5cc0-73d9-a932-7f2c64389aa2\",\n                    \"sender_role\": {\n                        \"value\": \"provider\",\n                        \"label\": \"Provider\"\n                    },\n                    \"type\": {\n                        \"value\": \"text\",\n                        \"label\": \"Text\"\n                    },\n                    \"body\": \"Message 2\",\n                    \"created_at\": \"2026-10-25T07:00:00+00:00\"\n                },\n                \"unread_count\": 0\n            }\n        ],\n        \"first_page_url\": \"http://localhost/api/v1/provider/conversations?per_page=2&page=1\",\n        \"from\": 1,\n        \"last_page\": 3,\n        \"last_page_url\": \"http://localhost/api/v1/provider/conversations?per_page=2&page=3\",\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"&laquo; Previous\",\n                \"page\": null,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/provider/conversations?per_page=2&page=1\",\n                \"label\": \"1\",\n                \"page\": 1,\n                \"active\": true\n            },\n            {\n                \"url\": \"http://localhost/api/v1/provider/conversations?per_page=2&page=2\",\n                \"label\": \"2\",\n                \"page\": 2,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/provider/conversations?per_page=2&page=3\",\n                \"label\": \"3\",\n                \"page\": 3,\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost/api/v1/provider/conversations?per_page=2&page=2\",\n                \"label\": \"Next &raquo;\",\n                \"page\": 2,\n                \"active\": false\n            }\n        ],\n        \"next_page_url\": \"http://localhost/api/v1/provider/conversations?per_page=2&page=2\",\n        \"path\": \"http://localhost/api/v1/provider/conversations\",\n        \"per_page\": 2,\n        \"prev_page_url\": null,\n        \"to\": 2,\n        \"total\": 6\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Conversation page number, starting at 1; defaults to 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Summaries per page, 1 to 100; defaults to 15. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/conversations",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Conversation page number, starting at 1; defaults to 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Summaries per page, 1 to 100; defaults to 15. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Provider conversation page size exceeds maximum",
                                            "_joshen": {
                                                "route": "provider.conversations.index",
                                                "name": "Provider conversation page size exceeds maximum",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/conversations",
                                                    "query": {
                                                        "per_page": "101"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderChatTest::test_conversation_list_is_paginated_and_orders_empty_conversations_last"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/conversations?per_page=101",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "conversations"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "101"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be between 1 and 100.\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "conversation_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Appointments",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/appointments?tab=today",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "appointments"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "today",
                                                    "description": "today, upcoming, completed, or cancelled appointments tab. — `string (enum)`, one of: `today`, `upcoming`, `completed`, `cancelled`",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.appointments.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `tab` — today, upcoming, completed, or cancelled appointments tab. — `string (enum)`, one of: `today`, `upcoming`, `completed`, `cancelled` (required)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Cancelled provider appointment\n- `200` Completed tab\n- `200` Completed tab before Phase 3\n- `200` Completed tab with no completed orders\n- `200` Today appointment tab\n- `200` Upcoming confirmed appointment\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown appointment tab\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a197ca-ce6d-7035-8299-9ff7e03669b3\",\n            \"code\": \"JSH-psse28331606\",\n            \"status\": {\n                \"value\": \"cancelled\",\n                \"label\": \"Cancelled\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"scheduled\",\n                \"label\": \"Scheduled\"\n            },\n            \"service_name\": null,\n            \"customer\": {\n                \"id\": \"01a197ca-ce65-7126-858c-cb4bc4fc04f6\",\n                \"name\": \"Althea Hoppe\"\n            },\n            \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n            \"eta_minutes\": null,\n            \"net_earning\": \"104.00\",\n            \"respond_before\": null,\n            \"seconds_left\": null,\n            \"can_respond\": false,\n            \"can_chat\": false,\n            \"can_prepare\": false,\n            \"can_start_travel\": false,\n            \"can_mark_arrived\": false,\n            \"can_start_service\": false,\n            \"can_complete\": false,\n            \"can_cancel\": false,\n            \"can_rate\": false\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Cancelled provider appointment",
                                            "_joshen": {
                                                "route": "provider.appointments.index",
                                                "name": "Cancelled provider appointment",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/appointments",
                                                    "query": {
                                                        "tab": "cancelled"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\OrderCancellationTest::test_ac_cust_020_unpaid_order_cancels_without_fee_or_refund_and_notifies_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=cancelled",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "cancelled"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a197ca-ce6d-7035-8299-9ff7e03669b3\",\n            \"code\": \"JSH-psse28331606\",\n            \"status\": {\n                \"value\": \"cancelled\",\n                \"label\": \"Cancelled\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"scheduled\",\n                \"label\": \"Scheduled\"\n            },\n            \"service_name\": null,\n            \"customer\": {\n                \"id\": \"01a197ca-ce65-7126-858c-cb4bc4fc04f6\",\n                \"name\": \"Althea Hoppe\"\n            },\n            \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n            \"eta_minutes\": null,\n            \"net_earning\": \"104.00\",\n            \"respond_before\": null,\n            \"seconds_left\": null,\n            \"can_respond\": false,\n            \"can_chat\": false,\n            \"can_prepare\": false,\n            \"can_start_travel\": false,\n            \"can_mark_arrived\": false,\n            \"can_start_service\": false,\n            \"can_complete\": false,\n            \"can_cancel\": false,\n            \"can_rate\": false\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 Completed tab",
                                            "_joshen": {
                                                "route": "provider.appointments.index",
                                                "name": "Completed tab",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/appointments",
                                                    "query": {
                                                        "tab": "completed"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\OrderExecutionTest::test_ac_prov_020_the_completed_tab_lists_only_her_completed_orders_newest_first"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=completed",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "completed"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a19791-4f18-7036-a325-b5ca1097a270\",\n            \"code\": \"JSH-reql14718370\",\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Completed\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"service_name\": null,\n            \"customer\": {\n                \"id\": \"01a19791-4f1c-7210-9336-4234a5632716\",\n                \"name\": \"Nichole Mills\"\n            },\n            \"scheduled_at\": null,\n            \"eta_minutes\": null,\n            \"net_earning\": \"0.00\",\n            \"respond_before\": null,\n            \"seconds_left\": null,\n            \"can_respond\": false,\n            \"can_chat\": false,\n            \"can_prepare\": false,\n            \"can_start_travel\": false,\n            \"can_mark_arrived\": false,\n            \"can_start_service\": false,\n            \"can_complete\": false,\n            \"can_rate\": true\n        },\n        {\n            \"id\": \"01a19791-4f0e-7159-a0ce-0c97917c06da\",\n            \"code\": \"JSH-vwww53474169\",\n            \"status\": {\n                \"value\": \"completed\",\n                \"label\": \"Completed\"\n            },\n            \"payment_status\": {\n                \"value\": \"unpaid\",\n                \"label\": \"Unpaid\"\n            },\n            \"booking_type\": {\n                \"value\": \"instant\",\n                \"label\": \"Instant\"\n            },\n            \"service_name\": null,\n            \"customer\": {\n                \"id\": \"01a19791-4f14-70ac-ac22-c03c7a7d3bbe\",\n                \"name\": \"Stanley Kuphal\"\n            },\n            \"scheduled_at\": null,\n            \"eta_minutes\": null,\n            \"net_earning\": \"0.00\",\n            \"respond_before\": null,\n            \"seconds_left\": null,\n            \"can_respond\": false,\n            \"can_chat\": false,\n            \"can_prepare\": false,\n            \"can_start_travel\": false,\n            \"can_mark_arrived\": false,\n            \"can_start_service\": false,\n            \"can_complete\": false,\n            \"can_rate\": true\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 Completed tab before Phase 3",
                                            "_joshen": {
                                                "route": "provider.appointments.index",
                                                "name": "Completed tab before Phase 3",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/appointments",
                                                    "query": {
                                                        "tab": "completed"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_015_scheduled_accept_then_customer_pay_confirms"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=completed",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "completed"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": []\n}"
                                        },
                                        {
                                            "name": "200 Completed tab with no completed orders",
                                            "_joshen": {
                                                "route": "provider.appointments.index",
                                                "name": "Completed tab with no completed orders",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/appointments",
                                                    "query": {
                                                        "tab": "completed"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_015_scheduled_accept_then_customer_pay_confirms"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=completed",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "completed"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": []\n}"
                                        },
                                        {
                                            "name": "200 Today appointment tab",
                                            "_joshen": {
                                                "route": "provider.appointments.index",
                                                "name": "Today appointment tab",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/appointments",
                                                    "query": {
                                                        "tab": "today"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_provider_request_examples"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=today",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "today"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": []\n}"
                                        },
                                        {
                                            "name": "200 Upcoming confirmed appointment",
                                            "_joshen": {
                                                "route": "provider.appointments.index",
                                                "name": "Upcoming confirmed appointment",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/appointments",
                                                    "query": {
                                                        "tab": "upcoming"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_015_scheduled_accept_then_customer_pay_confirms"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=upcoming",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "upcoming"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a1c637-51ed-73e4-84c5-6a51ff301b78\",\n            \"code\": \"JSH-218802\",\n            \"status\": {\n                \"value\": \"confirmed\",\n                \"label\": \"Confirmed\"\n            },\n            \"payment_status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"booking_type\": {\n                \"value\": \"scheduled\",\n                \"label\": \"Scheduled\"\n            },\n            \"service_name\": \"مكياج\",\n            \"is_group\": false,\n            \"customer\": {\n                \"id\": \"01a1c637-4f6f-7243-bb4f-d508ba929835\",\n                \"name\": \"Prof. Jaylin Nikolaus V\"\n            },\n            \"scheduled_at\": \"2026-10-26T07:00:00+00:00\",\n            \"eta_minutes\": null,\n            \"net_earning\": \"104.00\",\n            \"respond_before\": null,\n            \"seconds_left\": null,\n            \"can_respond\": false,\n            \"can_chat\": true,\n            \"can_prepare\": false,\n            \"can_start_travel\": false,\n            \"can_mark_arrived\": false,\n            \"can_start_service\": false,\n            \"can_complete\": false,\n            \"can_cancel\": true,\n            \"can_rate\": false\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=today",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "today",
                                                            "description": "today, upcoming, completed, or cancelled appointments tab. — `string (enum)`, one of: `today`, `upcoming`, `completed`, `cancelled`",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=today",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "today",
                                                            "description": "today, upcoming, completed, or cancelled appointments tab. — `string (enum)`, one of: `today`, `upcoming`, `completed`, `cancelled`",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown appointment tab",
                                            "_joshen": {
                                                "route": "provider.appointments.index",
                                                "name": "Unknown appointment tab",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/appointments",
                                                    "query": {
                                                        "tab": "unknown"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Client\\BookingQueryTest::test_ac_prov_014_provider_request_examples"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/appointments?tab=unknown",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "appointments"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "unknown"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected tab is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"tab\": [\n                \"The selected tab is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Availability",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/availability",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "availability"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.availability.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Paused provider availability\n- `401` Guest cannot read provider availability — `error_code: UNAUTHENTICATED`\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"instant_terms_ack_at\": null,\n        \"can_receive_instant\": false,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-faaa-7371-9fdc-9dd49b25c755\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Paused provider availability",
                                            "_joshen": {
                                                "route": "provider.availability.show",
                                                "name": "Paused provider availability",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_pausing_and_instant_terms_control_receiving"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": false,\n        \"instant_terms_ack_at\": null,\n        \"can_receive_instant\": false,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-faaa-7371-9fdc-9dd49b25c755\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Guest cannot read provider availability",
                                            "_joshen": {
                                                "route": "provider.availability.show",
                                                "name": "Guest cannot read provider availability",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_only_approved_provider_can_manage_own_availability"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Receiving",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/availability/receiving",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "availability",
                                                "receiving"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.availability.receiving`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `is_accepting_bookings`\n- **Description:** Whether the approved provider receives new bookings.\n- **Type:** `boolean`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|boolean`\n- `required` — must be provided.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Receiving bookings with instant availability\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot operate availability — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Missing required availability fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": true,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": true,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-faaa-7371-9fdc-9dd49b25c755\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"is_accepting_bookings\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Receiving bookings with instant availability",
                                            "_joshen": {
                                                "route": "provider.availability.receiving",
                                                "name": "Receiving bookings with instant availability",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/receiving",
                                                    "query": null,
                                                    "body": {
                                                        "is_accepting_bookings": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_pausing_and_instant_terms_control_receiving"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/receiving",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "receiving"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_accepting_bookings\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": true,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": true,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-faaa-7371-9fdc-9dd49b25c755\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/receiving",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "receiving"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_accepting_bookings\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot operate availability",
                                            "_joshen": {
                                                "route": "provider.availability.receiving",
                                                "name": "Pending provider cannot operate availability",
                                                "code": 403,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/receiving",
                                                    "query": null,
                                                    "body": {
                                                        "is_accepting_bookings": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_only_approved_provider_can_manage_own_availability"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/receiving",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "receiving"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_accepting_bookings\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"118311d6-dea4-4f26-9f2f-dbbffd055bd2\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/receiving",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "receiving"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_accepting_bookings\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required availability fields",
                                            "_joshen": {
                                                "route": "provider.availability.receiving",
                                                "name": "Missing required availability fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/receiving",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_013_availability_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/receiving",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "receiving"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The is accepting bookings field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"is_accepting_bookings\": [\n                \"The is accepting bookings field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Instant",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/availability/instant",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "availability",
                                                "instant"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.availability.instant`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `instant_enabled`\n- **Description:** Whether to enable instant requests.\n- **Type:** `boolean`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|boolean`\n- `required` — must be provided.\n- `boolean` — must be true, false, 1, or 0.\n### `accept_instant_terms`\n- **Description:** Explicit confirmation required when enabling; stamps instant_terms_ack_at.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Instant opt-in while paused\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Instant terms must be accepted — `error_code: INSTANT_TERMS_REQUIRED`\n- `422` Missing required availability fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": false,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-faaa-7371-9fdc-9dd49b25c755\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"instant_enabled\": true,\n    \"accept_instant_terms\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Instant opt-in while paused",
                                            "_joshen": {
                                                "route": "provider.availability.instant",
                                                "name": "Instant opt-in while paused",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/instant",
                                                    "query": null,
                                                    "body": {
                                                        "instant_enabled": true,
                                                        "accept_instant_terms": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_pausing_and_instant_terms_control_receiving"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/instant",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "instant"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"instant_enabled\": true,\n    \"accept_instant_terms\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": false,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": false,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-faaa-7371-9fdc-9dd49b25c755\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/instant",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "instant"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"instant_enabled\": true,\n    \"accept_instant_terms\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/instant",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "instant"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"instant_enabled\": true,\n    \"accept_instant_terms\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Instant terms must be accepted",
                                            "_joshen": {
                                                "route": "provider.availability.instant",
                                                "name": "Instant terms must be accepted",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/instant",
                                                    "query": null,
                                                    "body": {
                                                        "instant_enabled": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_pausing_and_instant_terms_control_receiving"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/instant",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "instant"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"instant_enabled\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Accept the instant booking terms before enabling instant requests.\",\n    \"data\": {\n        \"error_code\": \"INSTANT_TERMS_REQUIRED\",\n        \"correlation_id\": \"c3a083a7-553b-40b2-b02f-4c6888f2cee6\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required availability fields",
                                            "_joshen": {
                                                "route": "provider.availability.instant",
                                                "name": "Missing required availability fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/instant",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_013_availability_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/instant",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "instant"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The instant enabled field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"instant_enabled\": [\n                \"The instant enabled field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Working Hours",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"working_hour_id\",\"Not saved by any request; enter it by hand.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/availability/working-hours/:weekday",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "availability",
                                                "working-hours",
                                                ":weekday"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "weekday",
                                                    "value": "{{working_hour_id}}",
                                                    "description": "Record uuid. Not saved by any request; enter it by hand."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.availability.working-hours`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `periods`\n- **Description:** Ordered periods replacing all periods for the URL weekday; empty array closes that day.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[{\"start_time\":\"09:00\",\"end_time\":\"17:00\"}]`\n- **Validation rules:** `present|array`\n- `present` — must be present (may be empty).\n- `array` — must be an array.\n### `periods.*`\n- **Description:** One working interval containing start_time and end_time.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"start_time\":\"09:00\",\"end_time\":\"17:00\"}`\n- **Validation rules:** `required|array:start_time,end_time`\n- `required` — must be provided.\n- `array:start_time,end_time` — must be an array.\n### `periods.*.start_time`\n- **Description:** Local Saudi start, HH:mm.\n- **Type:** `string (date)`\n- **Required:** required\n- **Example:** `09:00`\n- **Validation rules:** `required|date_format:H:i`\n- `required` — must be provided.\n- `date_format:H:i` — must match the date format H:i.\n### `periods.*.end_time`\n- **Description:** Local Saudi end, HH:mm; must follow start.\n- **Type:** `string (date)`\n- **Required:** required\n- **Example:** `17:00`\n- **Validation rules:** `required|date_format:H:i`\n- `required` — must be provided.\n- `date_format:H:i` — must match the date format H:i.\n\n**Variables:**\n- Uses `{{working_hour_id}}` — Not saved by any request; enter it by hand.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Sunday working periods\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid period shape\n- `422` Missing required availability fields\n- `422` Overlapping working periods — `error_code: INVALID_WORKING_HOURS`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": true,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": true,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-fb1f-71ed-9572-280f0fef24fa\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"12:00\"\n            },\n            {\n                \"id\": \"01a172a7-fb20-73ac-9c52-4c4061dddc06\",\n                \"weekday\": 0,\n                \"start_time\": \"13:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"periods\": [\n        {\n            \"start_time\": \"09:00\",\n            \"end_time\": \"17:00\"\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Sunday working periods",
                                            "_joshen": {
                                                "route": "provider.availability.working-hours",
                                                "name": "Sunday working periods",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/working-hours/0",
                                                    "query": null,
                                                    "body": {
                                                        "periods": [
                                                            {
                                                                "start_time": "09:00",
                                                                "end_time": "12:00"
                                                            },
                                                            {
                                                                "start_time": "13:00",
                                                                "end_time": "17:00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_013_hours_and_time_off_gate_instant_availability"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/working-hours/0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "working-hours",
                                                        "0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"periods\": [\n        {\n            \"start_time\": \"09:00\",\n            \"end_time\": \"12:00\"\n        },\n        {\n            \"start_time\": \"13:00\",\n            \"end_time\": \"17:00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": true,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": true,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-fb1f-71ed-9572-280f0fef24fa\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"12:00\"\n            },\n            {\n                \"id\": \"01a172a7-fb20-73ac-9c52-4c4061dddc06\",\n                \"weekday\": 0,\n                \"start_time\": \"13:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/working-hours/:weekday",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "working-hours",
                                                        ":weekday"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "weekday",
                                                            "value": "{{working_hour_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"periods\": [\n        {\n            \"start_time\": \"09:00\",\n            \"end_time\": \"17:00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/working-hours/:weekday",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "working-hours",
                                                        ":weekday"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "weekday",
                                                            "value": "{{working_hour_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"periods\": [\n        {\n            \"start_time\": \"09:00\",\n            \"end_time\": \"17:00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid period shape",
                                            "_joshen": {
                                                "route": "provider.availability.working-hours",
                                                "name": "Invalid period shape",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/working-hours/0",
                                                    "query": null,
                                                    "body": {
                                                        "periods": [
                                                            {
                                                                "start_time": "not-time",
                                                                "end_time": "12:00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_only_approved_provider_can_manage_own_availability"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/working-hours/0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "working-hours",
                                                        "0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"periods\": [\n        {\n            \"start_time\": \"not-time\",\n            \"end_time\": \"12:00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The periods.0.start_time field must match the format H:i.\",\n    \"data\": {\n        \"errors\": {\n            \"periods.0.start_time\": [\n                \"The periods.0.start_time field must match the format H:i.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required availability fields",
                                            "_joshen": {
                                                "route": "provider.availability.working-hours",
                                                "name": "Missing required availability fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/working-hours/0",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_013_availability_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/working-hours/0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "working-hours",
                                                        "0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The periods field must be present.\",\n    \"data\": {\n        \"errors\": {\n            \"periods\": [\n                \"The periods field must be present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Overlapping working periods",
                                            "_joshen": {
                                                "route": "provider.availability.working-hours",
                                                "name": "Overlapping working periods",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/working-hours/0",
                                                    "query": null,
                                                    "body": {
                                                        "periods": [
                                                            {
                                                                "start_time": "09:00",
                                                                "end_time": "12:00"
                                                            },
                                                            {
                                                                "start_time": "11:00",
                                                                "end_time": "14:00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_013_hours_and_time_off_gate_instant_availability"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/working-hours/0",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "working-hours",
                                                        "0"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"periods\": [\n        {\n            \"start_time\": \"09:00\",\n            \"end_time\": \"12:00\"\n        },\n        {\n            \"start_time\": \"11:00\",\n            \"end_time\": \"14:00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Working periods must be ordered and must not overlap.\",\n    \"data\": {\n        \"error_code\": \"INVALID_WORKING_HOURS\",\n        \"correlation_id\": \"ec214ee4-47a6-41be-830f-8a55d92ca5de\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "working_hour_id",
                                                "set_by": [],
                                                "how": "Not saved by any request; enter it by hand."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/availability/time-off",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "availability",
                                                "time-off"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.availability.time-off.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `date`\n- **Description:** Full Saudi-local date to close, YYYY-MM-DD; alternatively send a period.\n- **Type:** `string (date)`\n- **Required:** conditional\n- **Example:** `2026-11-01`\n- **Validation rules:** `required_without:starts_at|prohibits:starts_at,ends_at|date_format:Y-m-d`\n- `required_without:starts_at` — required when starts_at is missing.\n- `prohibits:starts_at,ends_at` — custom validation rule.\n- `date_format:Y-m-d` — must match the date format Y-m-d.\n### `starts_at`\n- **Description:** Period start as ISO 8601 with offset; use with ends_at instead of date.\n- **Type:** `string (date)`\n- **Required:** conditional\n- **Example:** `null`\n- **Validation rules:** `required_without:date|date|regex:/^(.*)(Z|[+-][0-9]{2}:[0-9]{2})$/`\n- `required_without:date` — required when date is missing.\n- `date` — must be a valid date.\n- `regex:/^(.*)(Z` — must match the pattern shown.\n- `[+-][0-9]{2}:[0-9]{2})$/` — custom validation rule.\n### `ends_at`\n- **Description:** Period end as ISO 8601 with offset, after starts_at.\n- **Type:** `string (date)`\n- **Required:** conditional\n- **Example:** `null`\n- **Validation rules:** `required_with:starts_at|date|regex:/^(.*)(Z|[+-][0-9]{2}:[0-9]{2})$/`\n- `required_with:starts_at` — required when starts_at is present.\n- `date` — must be a valid date.\n- `regex:/^(.*)(Z` — must match the pattern shown.\n- `[+-][0-9]{2}:[0-9]{2})$/` — custom validation rule.\n### `reason`\n- **Description:** Optional provider note, up to 255 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Personal leave`\n- **Validation rules:** `nullable|string|max:255`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `201` Full local date closed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Missing required availability fields\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": true,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": false,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-fb1f-71ed-9572-280f0fef24fa\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"12:00\"\n            },\n            {\n                \"id\": \"01a172a7-fb20-73ac-9c52-4c4061dddc06\",\n                \"weekday\": 0,\n                \"start_time\": \"13:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": [\n            {\n                \"id\": \"01a172a7-fb34-73cb-b66e-40129670df7b\",\n                \"starts_at\": \"2026-10-24T21:00:00+00:00\",\n                \"ends_at\": \"2026-10-25T21:00:00+00:00\",\n                \"reason\": \"Personal leave\"\n            }\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"date\": \"2026-11-01\",\n    \"reason\": \"Personal leave\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Full local date closed",
                                            "_joshen": {
                                                "route": "provider.availability.time-off.store",
                                                "name": "Full local date closed",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/time-off",
                                                    "query": null,
                                                    "body": {
                                                        "date": "2026-10-25",
                                                        "reason": "Personal leave"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_013_hours_and_time_off_gate_instant_availability"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"date\": \"2026-10-25\",\n    \"reason\": \"Personal leave\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": true,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": false,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-fb1f-71ed-9572-280f0fef24fa\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"12:00\"\n            },\n            {\n                \"id\": \"01a172a7-fb20-73ac-9c52-4c4061dddc06\",\n                \"weekday\": 0,\n                \"start_time\": \"13:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": [\n            {\n                \"id\": \"01a172a7-fb34-73cb-b66e-40129670df7b\",\n                \"starts_at\": \"2026-10-24T21:00:00+00:00\",\n                \"ends_at\": \"2026-10-25T21:00:00+00:00\",\n                \"reason\": \"Personal leave\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"date\": \"2026-11-01\",\n    \"reason\": \"Personal leave\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"date\": \"2026-11-01\",\n    \"reason\": \"Personal leave\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Missing required availability fields",
                                            "_joshen": {
                                                "route": "provider.availability.time-off.store",
                                                "name": "Missing required availability fields",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/time-off",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_013_availability_validation_examples"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The date field is required when starts at is not present. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"date\": [\n                \"The date field is required when starts at is not present.\"\n            ],\n            \"starts_at\": [\n                \"The starts at field is required when date is not present.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Delete",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"time_off_id\",\"Not saved by any request; enter it by hand.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/availability/time-off/:time_off",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "availability",
                                                "time-off",
                                                ":time_off"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "time_off",
                                                    "value": "{{time_off_id}}",
                                                    "description": "Record uuid. Not saved by any request; enter it by hand."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.availability.time-off.destroy`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{time_off_id}}` — Not saved by any request; enter it by hand.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Time off removed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Another provider time off is hidden\n- `404` Integer time off id is not public\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": true,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": true,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-fb1f-71ed-9572-280f0fef24fa\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"12:00\"\n            },\n            {\n                \"id\": \"01a172a7-fb20-73ac-9c52-4c4061dddc06\",\n                \"weekday\": 0,\n                \"start_time\": \"13:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Time off removed",
                                            "_joshen": {
                                                "route": "provider.availability.time-off.destroy",
                                                "name": "Time off removed",
                                                "code": 200,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/time-off/01a172a7-fb34-73cb-b66e-40129670df7b",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_013_hours_and_time_off_gate_instant_availability"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off/01a172a7-fb34-73cb-b66e-40129670df7b",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off",
                                                        "01a172a7-fb34-73cb-b66e-40129670df7b"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"is_accepting_bookings\": true,\n        \"instant_enabled\": true,\n        \"instant_terms_ack_at\": \"2026-10-25T07:00:00+00:00\",\n        \"can_receive_instant\": true,\n        \"working_hours\": [\n            {\n                \"id\": \"01a172a7-fb1f-71ed-9572-280f0fef24fa\",\n                \"weekday\": 0,\n                \"start_time\": \"09:00\",\n                \"end_time\": \"12:00\"\n            },\n            {\n                \"id\": \"01a172a7-fb20-73ac-9c52-4c4061dddc06\",\n                \"weekday\": 0,\n                \"start_time\": \"13:00\",\n                \"end_time\": \"17:00\"\n            }\n        ],\n        \"time_off\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off/:time_off",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off",
                                                        ":time_off"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "time_off",
                                                            "value": "{{time_off_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off/:time_off",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off",
                                                        ":time_off"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "time_off",
                                                            "value": "{{time_off_id}}",
                                                            "description": "Record uuid. Not saved by any request; enter it by hand."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Another provider time off is hidden",
                                            "_joshen": {
                                                "route": "provider.availability.time-off.destroy",
                                                "name": "Another provider time off is hidden",
                                                "code": 404,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/time-off/01a172a7-fb88-7119-b331-d5eee51d0aa5",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_only_approved_provider_can_manage_own_availability"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off/01a172a7-fb88-7119-b331-d5eee51d0aa5",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off",
                                                        "01a172a7-fb88-7119-b331-d5eee51d0aa5"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "404 Integer time off id is not public",
                                            "_joshen": {
                                                "route": "provider.availability.time-off.destroy",
                                                "name": "Integer time off id is not public",
                                                "code": 404,
                                                "request": {
                                                    "method": "DELETE",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/availability/time-off/3",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AvailabilityTest::test_ac_prov_012_only_approved_provider_can_manage_own_availability"
                                            },
                                            "originalRequest": {
                                                "method": "DELETE",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/availability/time-off/3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "availability",
                                                        "time-off",
                                                        "3"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "time_off_id",
                                                "set_by": [],
                                                "how": "Not saved by any request; enter it by hand."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "My categories",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"provider_category_id\",\"data.*.id\"],[\"category_id\",\"data.*.category_id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/my-categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "my-categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.my-categories.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `provider_category_id` ← `data.*.id` of a 2xx response\n- Saves `category_id` ← `data.*.category_id` of a 2xx response\n\n**Responses:**\n- `200` Approved and requested own categories\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot price or manage services — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17221-d9ec-72d1-a135-e7aa18d4bbbb\",\n            \"category_id\": \"01a17221-d9e8-721e-ba16-adc17abba445\",\n            \"name\": \"Sample-xiqf75410814\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n            \"is_active\": true,\n            \"status\": {\n                \"value\": \"approved\",\n                \"label\": \"Approved\"\n            },\n            \"is_enabled\": true,\n            \"can_toggle\": true\n        },\n        {\n            \"id\": \"01a17221-da08-719d-a286-7b82fec78094\",\n            \"category_id\": \"01a17221-d9fb-71cd-89b2-3998167b83f1\",\n            \"name\": \"Sample-exxq37054973\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n            \"is_active\": true,\n            \"status\": {\n                \"value\": \"requested\",\n                \"label\": \"Requested\"\n            },\n            \"is_enabled\": true,\n            \"can_toggle\": false\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Approved and requested own categories",
                                            "_joshen": {
                                                "route": "provider.my-categories.index",
                                                "name": "Approved and requested own categories",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/my-categories",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_extra_category_request_and_owned_category_toggle"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/my-categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "my-categories"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17221-d9ec-72d1-a135-e7aa18d4bbbb\",\n            \"category_id\": \"01a17221-d9e8-721e-ba16-adc17abba445\",\n            \"name\": \"Sample-xiqf75410814\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n            \"is_active\": true,\n            \"status\": {\n                \"value\": \"approved\",\n                \"label\": \"Approved\"\n            },\n            \"is_enabled\": true,\n            \"can_toggle\": true\n        },\n        {\n            \"id\": \"01a17221-da08-719d-a286-7b82fec78094\",\n            \"category_id\": \"01a17221-d9fb-71cd-89b2-3998167b83f1\",\n            \"name\": \"Sample-exxq37054973\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\",\n            \"is_active\": true,\n            \"status\": {\n                \"value\": \"requested\",\n                \"label\": \"Requested\"\n            },\n            \"is_enabled\": true,\n            \"can_toggle\": false\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/my-categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "my-categories"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot price or manage services",
                                            "_joshen": {
                                                "route": "provider.my-categories.index",
                                                "name": "Pending provider cannot price or manage services",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/my-categories",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_pricing_requires_provider_app_and_approved_account"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/my-categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "my-categories"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"d609dd86-90e1-491a-8973-ba717c4f566a\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/my-categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "my-categories"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "provider_category_id",
                                                "path": "data.*.id"
                                            },
                                            {
                                                "name": "category_id",
                                                "path": "data.*.category_id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Available",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/my-categories/available",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "my-categories",
                                                "available"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.my-categories.available`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Categories she can still request\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17221-da9f-7293-9072-5f191c1150d7\",\n            \"name\": \"Nails\",\n            \"description\": \"Nail care\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\"\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Categories she can still request",
                                            "_joshen": {
                                                "route": "provider.my-categories.available",
                                                "name": "Categories she can still request",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/my-categories/available",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_available_categories_exclude_every_category_she_already_has"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/my-categories/available",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "my-categories",
                                                        "available"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17221-da9f-7293-9072-5f191c1150d7\",\n            \"name\": \"Nails\",\n            \"description\": \"Nail care\",\n            \"image\": \"https://ui-avatars.com/api/?name=C&background=fef3c7&color=d97706&size=200\"\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/my-categories/available",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "my-categories",
                                                        "available"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/my-categories/available",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "my-categories",
                                                        "available"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Services",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"service_choice_id\",\"data.*.option_groups.*.choices.*.id\"],[\"service_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/services?category_id={{category_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "services"
                                            ],
                                            "query": [
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "description": "Your approved and enabled active category UUID; returns its active bookable services (TD-42/70). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.services.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `category_id` — Your approved and enabled active category UUID; returns its active bookable services (TD-42/70). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19) (required)\n\n**Variables:**\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `service_choice_id` ← `data.*.option_groups.*.choices.*.id` of a 2xx response\n- Saves `service_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Active service tree with own prices and free choice\n- `200` Inactive group hides its active choices\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot price or manage services — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Category unavailable disabled — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable foreign — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable inactive — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable rejected — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable requested — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid shape or integer reference\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17221-d6f1-70cc-b8ce-aa695d49c5b3\",\n            \"name\": \"Makeup\",\n            \"description\": null,\n            \"default_duration_min\": 60,\n            \"min_price\": \"50.00\",\n            \"max_price\": \"500.00\",\n            \"reference_price\": null,\n            \"price\": \"500.00\",\n            \"is_active\": true,\n            \"duration_min\": null,\n            \"can_price\": true,\n            \"can_toggle\": true,\n            \"option_groups\": [\n                {\n                    \"id\": \"01a17221-d6f5-716f-a5a2-405f75f2caa1\",\n                    \"name\": \"Sample-yhfz79372054\",\n                    \"description\": null,\n                    \"children_required\": true,\n                    \"children_selection\": {\n                        \"value\": \"single\",\n                        \"label\": \"Single\"\n                    },\n                    \"choices\": [\n                        {\n                            \"id\": \"01a17221-d6f9-70ff-b16b-de2827b30ce4\",\n                            \"name\": \"Sample-cgeq76439480\",\n                            \"description\": null,\n                            \"default_duration_min\": 10,\n                            \"min_price\": \"10.00\",\n                            \"max_price\": \"200.00\",\n                            \"reference_price\": null,\n                            \"price\": \"200.00\",\n                            \"is_active\": true,\n                            \"duration_min\": null,\n                            \"is_free\": false\n                        },\n                        {\n                            \"id\": \"01a17221-d6fb-71b1-8c2e-44e3a4415bb1\",\n                            \"name\": \"Sample-abcb12484060\",\n                            \"description\": null,\n                            \"default_duration_min\": 10,\n                            \"min_price\": \"0.00\",\n                            \"max_price\": \"0.00\",\n                            \"reference_price\": null,\n                            \"price\": \"0.00\",\n                            \"is_active\": true,\n                            \"duration_min\": null,\n                            \"is_free\": true\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Active service tree with own prices and free choice",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Active service tree with own prices and free choice",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "01a17221-d6ea-70c7-983c-653bb1d6c0f1"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_range_edges_and_free_choice_are_saved_and_visible"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=01a17221-d6ea-70c7-983c-653bb1d6c0f1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "01a17221-d6ea-70c7-983c-653bb1d6c0f1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17221-d6f1-70cc-b8ce-aa695d49c5b3\",\n            \"name\": \"Makeup\",\n            \"description\": null,\n            \"default_duration_min\": 60,\n            \"min_price\": \"50.00\",\n            \"max_price\": \"500.00\",\n            \"reference_price\": null,\n            \"price\": \"500.00\",\n            \"is_active\": true,\n            \"duration_min\": null,\n            \"can_price\": true,\n            \"can_toggle\": true,\n            \"option_groups\": [\n                {\n                    \"id\": \"01a17221-d6f5-716f-a5a2-405f75f2caa1\",\n                    \"name\": \"Sample-yhfz79372054\",\n                    \"description\": null,\n                    \"children_required\": true,\n                    \"children_selection\": {\n                        \"value\": \"single\",\n                        \"label\": \"Single\"\n                    },\n                    \"choices\": [\n                        {\n                            \"id\": \"01a17221-d6f9-70ff-b16b-de2827b30ce4\",\n                            \"name\": \"Sample-cgeq76439480\",\n                            \"description\": null,\n                            \"default_duration_min\": 10,\n                            \"min_price\": \"10.00\",\n                            \"max_price\": \"200.00\",\n                            \"reference_price\": null,\n                            \"price\": \"200.00\",\n                            \"is_active\": true,\n                            \"duration_min\": null,\n                            \"is_free\": false\n                        },\n                        {\n                            \"id\": \"01a17221-d6fb-71b1-8c2e-44e3a4415bb1\",\n                            \"name\": \"Sample-abcb12484060\",\n                            \"description\": null,\n                            \"default_duration_min\": 10,\n                            \"min_price\": \"0.00\",\n                            \"max_price\": \"0.00\",\n                            \"reference_price\": null,\n                            \"price\": \"0.00\",\n                            \"is_active\": true,\n                            \"duration_min\": null,\n                            \"is_free\": true\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "200 Inactive group hides its active choices",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Inactive group hides its active choices",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "01a17221-dd36-7343-9799-04cbad92c431"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_inactive_nodes_duration_and_summary_counts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=01a17221-dd36-7343-9799-04cbad92c431",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "01a17221-dd36-7343-9799-04cbad92c431"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a17221-dd3a-7291-aaab-93dfe7070dbb\",\n            \"name\": \"Makeup\",\n            \"description\": null,\n            \"default_duration_min\": 60,\n            \"min_price\": \"50.00\",\n            \"max_price\": \"500.00\",\n            \"reference_price\": null,\n            \"price\": \"100.00\",\n            \"is_active\": true,\n            \"duration_min\": 45,\n            \"can_price\": true,\n            \"can_toggle\": true,\n            \"option_groups\": []\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id={{category_id}}",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "{{category_id}}",
                                                            "description": "Your approved and enabled active category UUID; returns its active bookable services (TD-42/70). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot price or manage services",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Pending provider cannot price or manage services",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "01a17221-dc8c-7050-aef1-e24d6e624ae2"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_pricing_requires_provider_app_and_approved_account"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=01a17221-dc8c-7050-aef1-e24d6e624ae2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "01a17221-dc8c-7050-aef1-e24d6e624ae2"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"2d6827de-0827-40e7-8dc8-a07cd30b47bf\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id={{category_id}}",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "{{category_id}}",
                                                            "description": "Your approved and enabled active category UUID; returns its active bookable services (TD-42/70). — `string (uuid)`, a `categories` record — send its uuid `id` (TD-19)",
                                                            "disabled": false
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable disabled",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Category unavailable disabled",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "01a17221-dba1-7202-b2b0-34a6cc7b11ae"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=01a17221-dba1-7202-b2b0-34a6cc7b11ae",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "01a17221-dba1-7202-b2b0-34a6cc7b11ae"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"de9d5a72-a176-41f6-b09d-70cd0553aaf6\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable foreign",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Category unavailable foreign",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "01a17221-dae0-722d-97ae-8cbe3563bd54"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=01a17221-dae0-722d-97ae-8cbe3563bd54",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "01a17221-dae0-722d-97ae-8cbe3563bd54"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"80f18584-8556-422d-b439-e16f9dd6a07e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable inactive",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Category unavailable inactive",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "01a17221-dbe7-713e-9f5e-b6dc94f1eae3"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=01a17221-dbe7-713e-9f5e-b6dc94f1eae3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "01a17221-dbe7-713e-9f5e-b6dc94f1eae3"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"34e3b267-f547-45cf-9228-d5c7f7afcd05\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable rejected",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Category unavailable rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "01a17221-db61-7282-b2c7-9f6d8437c220"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=01a17221-db61-7282-b2c7-9f6d8437c220",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "01a17221-db61-7282-b2c7-9f6d8437c220"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"3c78a8d7-8f5e-40e4-a3dc-130513f0d7ce\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable requested",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Category unavailable requested",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "01a17221-db23-71d6-b1b7-3463c69edbd1"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=01a17221-db23-71d6-b1b7-3463c69edbd1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "01a17221-db23-71d6-b1b7-3463c69edbd1"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"e61d3385-ea63-4986-ac01-9356244f6029\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid shape or integer reference",
                                            "_joshen": {
                                                "route": "provider.services.index",
                                                "name": "Invalid shape or integer reference",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services",
                                                    "query": {
                                                        "category_id": "25"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_uuid_shape_precision_and_missing_records"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services?category_id=25",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "category_id",
                                                            "value": "25"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The category id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"category_id\": [\n                \"The category id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "service_choice_id",
                                                "path": "data.*.option_groups.*.choices.*.id"
                                            },
                                            {
                                                "name": "service_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Summary",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/services/summary",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "services",
                                                "summary"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.services.summary`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` One complete enabled service\n- `200` Priced but disabled service count\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot price or manage services — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"priced_count\": 1,\n        \"enabled_count\": 1\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 One complete enabled service",
                                            "_joshen": {
                                                "route": "provider.services.summary",
                                                "name": "One complete enabled service",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/summary",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_range_edges_and_free_choice_are_saved_and_visible"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "summary"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"priced_count\": 1,\n        \"enabled_count\": 1\n    }\n}"
                                        },
                                        {
                                            "name": "200 Priced but disabled service count",
                                            "_joshen": {
                                                "route": "provider.services.summary",
                                                "name": "Priced but disabled service count",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/summary",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_inactive_nodes_duration_and_summary_counts"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "summary"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"priced_count\": 1,\n        \"enabled_count\": 0\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "summary"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot price or manage services",
                                            "_joshen": {
                                                "route": "provider.services.summary",
                                                "name": "Pending provider cannot price or manage services",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/summary",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_pricing_requires_provider_app_and_approved_account"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "summary"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"e39ffa3f-b882-4e23-99d6-58e19f4b8a1a\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/summary",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "summary"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"service_choice_id\",\"Saved by GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"service_choice_id\",\"data.option_groups.*.choices.*.id\"],[\"service_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/services/:service",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "services",
                                                ":service"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "service",
                                                    "value": "{{service_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.services.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `price`\n- **Description:** Base service price in SAR inside its admin range (BR-06).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `150.00`\n- **Validation rules:** `sometimes|numeric|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n### `duration_min`\n- **Description:** Optional positive duration override; omit to preserve, null restores admin default.\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `60`\n- **Validation rules:** `sometimes|nullable|integer|between:1,2147483647`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `between:1,2147483647` — must be between 1, 2147483647.\n### `is_active`\n- **Description:** Desired base visibility; true requires every active choice price.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `choices`\n- **Description:** Choice prices saved atomically with base; empty allowed, omitted saved prices remain.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[{\"service_id\":\"{{service_choice_id}}\",\"price\":\"30.00\"}]`\n- **Validation rules:** `present|array|list`\n- `present` — must be present (may be empty).\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `choices.*`\n- **Description:** Active type-3 choice of an active group of this root, with explicit price.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"service_id\":\"{{service_choice_id}}\",\"price\":\"30.00\"}`\n- **Validation rules:** `sometimes|array:service_id,price`\n- `sometimes` — validated only when the field is present.\n- `array:service_id,price` — must be an array.\n### `choices.*.service_id`\n- **Description:** Public services UUID of the choice, never a group or another service choice.\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{service_choice_id}}`\n- **Validation rules:** `sometimes|distinct|uuid|exists:services,uuid`\n- `sometimes` — validated only when the field is present.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n### `choices.*.price`\n- **Description:** SAR inside choice range; free choices require explicit zero.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `30.00`\n- **Validation rules:** `sometimes|numeric|decimal:0,2`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{service_choice_id}}` — Saved by GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Saves `service_choice_id` ← `data.option_groups.*.choices.*.id` of a 2xx response\n- Saves `service_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Complete base and paid and free choices at range edge 50.00\n- `200` Complete base and paid and free choices at range edge 500.00\n- `200` Inactive incomplete pricing draft\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot price or manage services — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Unknown malformed or integer service UUID\n- `422` Cannot enable without paid and explicit free choice prices — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable disabled — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable foreign — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable inactive — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable rejected — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable requested — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Choice must belong to this active root and group — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Groups cannot be priced or toggled as bookable services — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid shape or integer reference\n- `422` Out of range base -0.01 en — `error_code: PRICE_OUT_OF_RANGE`\n- `422` Out of range base 49.99 en — `error_code: PRICE_OUT_OF_RANGE`\n- `422` Out of range base 500.01 en — `error_code: PRICE_OUT_OF_RANGE`\n- `422` Out of range free 0.01 en — `error_code: PRICE_OUT_OF_RANGE`\n- `422` Out of range paid 200.01 ar — `error_code: PRICE_OUT_OF_RANGE`\n- `422` Out of range paid 9.99 en — `error_code: PRICE_OUT_OF_RANGE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d6f1-70cc-b8ce-aa695d49c5b3\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"default_duration_min\": 60,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\",\n        \"reference_price\": null,\n        \"price\": \"50.00\",\n        \"is_active\": true,\n        \"duration_min\": null,\n        \"can_price\": true,\n        \"can_toggle\": true,\n        \"option_groups\": [\n            {\n                \"id\": \"01a17221-d6f5-716f-a5a2-405f75f2caa1\",\n                \"name\": \"Sample-yhfz79372054\",\n                \"description\": null,\n                \"children_required\": true,\n                \"children_selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"choices\": [\n                    {\n                        \"id\": \"01a17221-d6f9-70ff-b16b-de2827b30ce4\",\n                        \"name\": \"Sample-cgeq76439480\",\n                        \"description\": null,\n                        \"default_duration_min\": 10,\n                        \"min_price\": \"10.00\",\n                        \"max_price\": \"200.00\",\n                        \"reference_price\": null,\n                        \"price\": \"10.00\",\n                        \"is_active\": true,\n                        \"duration_min\": null,\n                        \"is_free\": false\n                    },\n                    {\n                        \"id\": \"01a17221-d6fb-71b1-8c2e-44e3a4415bb1\",\n                        \"name\": \"Sample-abcb12484060\",\n                        \"description\": null,\n                        \"default_duration_min\": 10,\n                        \"min_price\": \"0.00\",\n                        \"max_price\": \"0.00\",\n                        \"reference_price\": null,\n                        \"price\": \"0.00\",\n                        \"is_active\": true,\n                        \"duration_min\": null,\n                        \"is_free\": true\n                    }\n                ]\n            }\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"price\": \"150.00\",\n    \"duration_min\": 60,\n    \"is_active\": false,\n    \"choices\": [\n        {\n            \"service_id\": \"{{service_choice_id}}\",\n            \"price\": \"30.00\"\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Complete base and paid and free choices at range edge 50.00",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Complete base and paid and free choices at range edge 50.00",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d6f1-70cc-b8ce-aa695d49c5b3",
                                                    "query": null,
                                                    "body": {
                                                        "price": "50.00",
                                                        "is_active": true,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d6f9-70ff-b16b-de2827b30ce4",
                                                                "price": "10.00"
                                                            },
                                                            {
                                                                "service_id": "01a17221-d6fb-71b1-8c2e-44e3a4415bb1",
                                                                "price": "0.00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_range_edges_and_free_choice_are_saved_and_visible"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d6f1-70cc-b8ce-aa695d49c5b3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d6f1-70cc-b8ce-aa695d49c5b3"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"50.00\",\n    \"is_active\": true,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d6f9-70ff-b16b-de2827b30ce4\",\n            \"price\": \"10.00\"\n        },\n        {\n            \"service_id\": \"01a17221-d6fb-71b1-8c2e-44e3a4415bb1\",\n            \"price\": \"0.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d6f1-70cc-b8ce-aa695d49c5b3\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"default_duration_min\": 60,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\",\n        \"reference_price\": null,\n        \"price\": \"50.00\",\n        \"is_active\": true,\n        \"duration_min\": null,\n        \"can_price\": true,\n        \"can_toggle\": true,\n        \"option_groups\": [\n            {\n                \"id\": \"01a17221-d6f5-716f-a5a2-405f75f2caa1\",\n                \"name\": \"Sample-yhfz79372054\",\n                \"description\": null,\n                \"children_required\": true,\n                \"children_selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"choices\": [\n                    {\n                        \"id\": \"01a17221-d6f9-70ff-b16b-de2827b30ce4\",\n                        \"name\": \"Sample-cgeq76439480\",\n                        \"description\": null,\n                        \"default_duration_min\": 10,\n                        \"min_price\": \"10.00\",\n                        \"max_price\": \"200.00\",\n                        \"reference_price\": null,\n                        \"price\": \"10.00\",\n                        \"is_active\": true,\n                        \"duration_min\": null,\n                        \"is_free\": false\n                    },\n                    {\n                        \"id\": \"01a17221-d6fb-71b1-8c2e-44e3a4415bb1\",\n                        \"name\": \"Sample-abcb12484060\",\n                        \"description\": null,\n                        \"default_duration_min\": 10,\n                        \"min_price\": \"0.00\",\n                        \"max_price\": \"0.00\",\n                        \"reference_price\": null,\n                        \"price\": \"0.00\",\n                        \"is_active\": true,\n                        \"duration_min\": null,\n                        \"is_free\": true\n                    }\n                ]\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "200 Complete base and paid and free choices at range edge 500.00",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Complete base and paid and free choices at range edge 500.00",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d6f1-70cc-b8ce-aa695d49c5b3",
                                                    "query": null,
                                                    "body": {
                                                        "price": "500.00",
                                                        "is_active": true,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d6f9-70ff-b16b-de2827b30ce4",
                                                                "price": "200.00"
                                                            },
                                                            {
                                                                "service_id": "01a17221-d6fb-71b1-8c2e-44e3a4415bb1",
                                                                "price": "0.00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_range_edges_and_free_choice_are_saved_and_visible"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d6f1-70cc-b8ce-aa695d49c5b3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d6f1-70cc-b8ce-aa695d49c5b3"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"500.00\",\n    \"is_active\": true,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d6f9-70ff-b16b-de2827b30ce4\",\n            \"price\": \"200.00\"\n        },\n        {\n            \"service_id\": \"01a17221-d6fb-71b1-8c2e-44e3a4415bb1\",\n            \"price\": \"0.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d6f1-70cc-b8ce-aa695d49c5b3\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"default_duration_min\": 60,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\",\n        \"reference_price\": null,\n        \"price\": \"500.00\",\n        \"is_active\": true,\n        \"duration_min\": null,\n        \"can_price\": true,\n        \"can_toggle\": true,\n        \"option_groups\": [\n            {\n                \"id\": \"01a17221-d6f5-716f-a5a2-405f75f2caa1\",\n                \"name\": \"Sample-yhfz79372054\",\n                \"description\": null,\n                \"children_required\": true,\n                \"children_selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"choices\": [\n                    {\n                        \"id\": \"01a17221-d6f9-70ff-b16b-de2827b30ce4\",\n                        \"name\": \"Sample-cgeq76439480\",\n                        \"description\": null,\n                        \"default_duration_min\": 10,\n                        \"min_price\": \"10.00\",\n                        \"max_price\": \"200.00\",\n                        \"reference_price\": null,\n                        \"price\": \"200.00\",\n                        \"is_active\": true,\n                        \"duration_min\": null,\n                        \"is_free\": false\n                    },\n                    {\n                        \"id\": \"01a17221-d6fb-71b1-8c2e-44e3a4415bb1\",\n                        \"name\": \"Sample-abcb12484060\",\n                        \"description\": null,\n                        \"default_duration_min\": 10,\n                        \"min_price\": \"0.00\",\n                        \"max_price\": \"0.00\",\n                        \"reference_price\": null,\n                        \"price\": \"0.00\",\n                        \"is_active\": true,\n                        \"duration_min\": null,\n                        \"is_free\": true\n                    }\n                ]\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "200 Inactive incomplete pricing draft",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Inactive incomplete pricing draft",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_enable_requires_all_active_choice_prices_and_checklist_uses_same_rule"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d8c9-73f3-8236-67d14101111f"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d8c9-73f3-8236-67d14101111f\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"default_duration_min\": 60,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\",\n        \"reference_price\": null,\n        \"price\": \"100.00\",\n        \"is_active\": false,\n        \"duration_min\": null,\n        \"can_price\": true,\n        \"can_toggle\": true,\n        \"option_groups\": [\n            {\n                \"id\": \"01a17221-d8cd-736c-9cb1-7ae29cd5d232\",\n                \"name\": \"Sample-ydyd90028176\",\n                \"description\": null,\n                \"children_required\": true,\n                \"children_selection\": {\n                    \"value\": \"single\",\n                    \"label\": \"Single\"\n                },\n                \"choices\": [\n                    {\n                        \"id\": \"01a17221-d8d0-7017-88df-c66db42f125e\",\n                        \"name\": \"Sample-yssi94316262\",\n                        \"description\": null,\n                        \"default_duration_min\": 10,\n                        \"min_price\": \"10.00\",\n                        \"max_price\": \"200.00\",\n                        \"reference_price\": null,\n                        \"price\": null,\n                        \"is_active\": null,\n                        \"duration_min\": null,\n                        \"is_free\": false\n                    },\n                    {\n                        \"id\": \"01a17221-d8d4-707e-9396-9dc9d02d2c5a\",\n                        \"name\": \"Sample-yavz38592013\",\n                        \"description\": null,\n                        \"default_duration_min\": 10,\n                        \"min_price\": \"0.00\",\n                        \"max_price\": \"0.00\",\n                        \"reference_price\": null,\n                        \"price\": null,\n                        \"is_active\": null,\n                        \"duration_min\": null,\n                        \"is_free\": true\n                    }\n                ]\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"150.00\",\n    \"duration_min\": 60,\n    \"is_active\": false,\n    \"choices\": [\n        {\n            \"service_id\": \"{{service_choice_id}}\",\n            \"price\": \"30.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot price or manage services",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Pending provider cannot price or manage services",
                                                "code": 403,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dc91-7382-a7e5-8cf442354e9d",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_pricing_requires_provider_app_and_approved_account"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dc91-7382-a7e5-8cf442354e9d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dc91-7382-a7e5-8cf442354e9d"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"4ec65c3b-87f8-43a8-b46d-c3d3eaebc4b6\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/:service",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        ":service"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"150.00\",\n    \"duration_min\": 60,\n    \"is_active\": false,\n    \"choices\": [\n        {\n            \"service_id\": \"{{service_choice_id}}\",\n            \"price\": \"30.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown malformed or integer service UUID",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Unknown malformed or integer service UUID",
                                                "code": 404,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/invalid",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_uuid_shape_precision_and_missing_records"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/invalid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "invalid"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Cannot enable without paid and explicit free choice prices",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Cannot enable without paid and explicit free choice prices",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": true,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_enable_requires_all_active_choice_prices_and_checklist_uses_same_rule"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d8c9-73f3-8236-67d14101111f"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": true,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Price every active choice before enabling the service. Missing prices: Sample-yssi94316262, Sample-yavz38592013.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"3a11454f-dd24-4998-bbf6-ed3bddcf70c5\",\n        \"unpriced_choices\": [\n            {\n                \"id\": \"01a17221-d8d0-7017-88df-c66db42f125e\",\n                \"name\": \"Sample-yssi94316262\"\n            },\n            {\n                \"id\": \"01a17221-d8d4-707e-9396-9dc9d02d2c5a\",\n                \"name\": \"Sample-yavz38592013\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable disabled",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Category unavailable disabled",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dba5-71de-a696-052ebdb405a2",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dba5-71de-a696-052ebdb405a2",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dba5-71de-a696-052ebdb405a2"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"22a15fb1-841a-4928-ab31-e39616ed53a8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable foreign",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Category unavailable foreign",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dae4-721a-b2ee-edbc8d205106",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dae4-721a-b2ee-edbc8d205106",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dae4-721a-b2ee-edbc8d205106"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"558ef065-a8e5-4f7c-89c8-93859bcceb0f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable inactive",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Category unavailable inactive",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dbeb-717c-aaea-7b92eaa66466",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dbeb-717c-aaea-7b92eaa66466",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dbeb-717c-aaea-7b92eaa66466"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"bcda852a-67f6-41ab-a95b-759a44782e1b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable rejected",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Category unavailable rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-db65-7059-995b-8d21b8b484ec",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-db65-7059-995b-8d21b8b484ec",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-db65-7059-995b-8d21b8b484ec"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"422bac18-4274-404a-9af7-a3842d15e575\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable requested",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Category unavailable requested",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-db26-72e2-bce2-97da34299a9d",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-db26-72e2-bce2-97da34299a9d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-db26-72e2-bce2-97da34299a9d"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"dd4648e0-0116-440e-b85f-5220f47699d7\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Choice must belong to this active root and group",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Choice must belong to this active root and group",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d987-72f0-9357-c3f5f92e4a57",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100",
                                                        "is_active": false,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d9aa-70e8-a878-6ac7479e9741",
                                                                "price": "0"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_group_and_foreign_or_inactive_choices_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d987-72f0-9357-c3f5f92e4a57",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d987-72f0-9357-c3f5f92e4a57"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100\",\n    \"is_active\": false,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d9aa-70e8-a878-6ac7479e9741\",\n            \"price\": \"0\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Each price must belong to an active choice in an active group of this service.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"17f08fbc-e85d-4baa-a95e-5a111054917e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Groups cannot be priced or toggled as bookable services",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Groups cannot be priced or toggled as bookable services",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d98a-726a-a609-a12491a5a015",
                                                    "query": null,
                                                    "body": {
                                                        "price": "0",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_group_and_foreign_or_inactive_choices_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d98a-726a-a609-a12491a5a015",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d98a-726a-a609-a12491a5a015"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"0\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Only an active bookable service can be priced or enabled; option groups cannot be priced.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"20f335e7-4da0-4371-9409-b1a2c4ce42b4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid shape or integer reference",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Invalid shape or integer reference",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dc28-7114-9648-3b75d267aef4",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100.001",
                                                        "is_active": false,
                                                        "choices": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_uuid_shape_precision_and_missing_records"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dc28-7114-9648-3b75d267aef4",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dc28-7114-9648-3b75d267aef4"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100.001\",\n    \"is_active\": false,\n    \"choices\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The price field must have 0-2 decimal places.\",\n    \"data\": {\n        \"errors\": {\n            \"price\": [\n                \"The price field must have 0-2 decimal places.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Out of range base -0.01 en",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Out of range base -0.01 en",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d772-7059-8d81-5d90fd246145",
                                                    "query": null,
                                                    "body": {
                                                        "price": "-0.01",
                                                        "is_active": true,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d779-72ef-be82-5c61a810276b",
                                                                "price": "30.00"
                                                            },
                                                            {
                                                                "service_id": "01a17221-d77c-73c4-b530-a2d09538b849",
                                                                "price": "0.00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_out_of_range_is_typed_names_node_and_rolls_back"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d772-7059-8d81-5d90fd246145",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d772-7059-8d81-5d90fd246145"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"-0.01\",\n    \"is_active\": true,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d779-72ef-be82-5c61a810276b\",\n            \"price\": \"30.00\"\n        },\n        {\n            \"service_id\": \"01a17221-d77c-73c4-b530-a2d09538b849\",\n            \"price\": \"0.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The price for Makeup must be between 50.00 and 500.00 SAR.\",\n    \"data\": {\n        \"error_code\": \"PRICE_OUT_OF_RANGE\",\n        \"correlation_id\": \"8e0f839d-4417-4846-9f54-b8167248eb11\",\n        \"node\": {\n            \"id\": \"01a17221-d772-7059-8d81-5d90fd246145\",\n            \"name\": \"Makeup\"\n        },\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Out of range base 49.99 en",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Out of range base 49.99 en",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d7ac-7336-af9b-e3c351ef9126",
                                                    "query": null,
                                                    "body": {
                                                        "price": "49.99",
                                                        "is_active": true,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d7b2-70f7-bd28-d25fd52eab69",
                                                                "price": "30.00"
                                                            },
                                                            {
                                                                "service_id": "01a17221-d7b4-7086-a325-428cbedd133f",
                                                                "price": "0.00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_out_of_range_is_typed_names_node_and_rolls_back"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d7ac-7336-af9b-e3c351ef9126",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d7ac-7336-af9b-e3c351ef9126"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"49.99\",\n    \"is_active\": true,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d7b2-70f7-bd28-d25fd52eab69\",\n            \"price\": \"30.00\"\n        },\n        {\n            \"service_id\": \"01a17221-d7b4-7086-a325-428cbedd133f\",\n            \"price\": \"0.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The price for Makeup must be between 50.00 and 500.00 SAR.\",\n    \"data\": {\n        \"error_code\": \"PRICE_OUT_OF_RANGE\",\n        \"correlation_id\": \"74601c08-1416-4ff6-8986-d617576e702f\",\n        \"node\": {\n            \"id\": \"01a17221-d7ac-7336-af9b-e3c351ef9126\",\n            \"name\": \"Makeup\"\n        },\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Out of range base 500.01 en",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Out of range base 500.01 en",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d7dd-71c7-985f-f4f0f58fa436",
                                                    "query": null,
                                                    "body": {
                                                        "price": "500.01",
                                                        "is_active": true,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d7e3-737c-b0f9-4f8e8835b5c1",
                                                                "price": "30.00"
                                                            },
                                                            {
                                                                "service_id": "01a17221-d7e6-71c4-8351-54dfa9af0b38",
                                                                "price": "0.00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_out_of_range_is_typed_names_node_and_rolls_back"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d7dd-71c7-985f-f4f0f58fa436",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d7dd-71c7-985f-f4f0f58fa436"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"500.01\",\n    \"is_active\": true,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d7e3-737c-b0f9-4f8e8835b5c1\",\n            \"price\": \"30.00\"\n        },\n        {\n            \"service_id\": \"01a17221-d7e6-71c4-8351-54dfa9af0b38\",\n            \"price\": \"0.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The price for Makeup must be between 50.00 and 500.00 SAR.\",\n    \"data\": {\n        \"error_code\": \"PRICE_OUT_OF_RANGE\",\n        \"correlation_id\": \"35af049d-58df-46bc-beca-ace262f4dd92\",\n        \"node\": {\n            \"id\": \"01a17221-d7dd-71c7-985f-f4f0f58fa436\",\n            \"name\": \"Makeup\"\n        },\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Out of range free 0.01 en",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Out of range free 0.01 en",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d87d-7013-9b3c-ede3cb6275ce",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100.00",
                                                        "is_active": true,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d889-710f-b293-af6c5f0fb3a0",
                                                                "price": "30.00"
                                                            },
                                                            {
                                                                "service_id": "01a17221-d88d-712f-b8a3-8a25d99820ed",
                                                                "price": "0.01"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_out_of_range_is_typed_names_node_and_rolls_back"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d87d-7013-9b3c-ede3cb6275ce",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d87d-7013-9b3c-ede3cb6275ce"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100.00\",\n    \"is_active\": true,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d889-710f-b293-af6c5f0fb3a0\",\n            \"price\": \"30.00\"\n        },\n        {\n            \"service_id\": \"01a17221-d88d-712f-b8a3-8a25d99820ed\",\n            \"price\": \"0.01\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The price for Sample-dntn67676936 must be between 0.00 and 0.00 SAR.\",\n    \"data\": {\n        \"error_code\": \"PRICE_OUT_OF_RANGE\",\n        \"correlation_id\": \"92a59d74-dcc6-42d6-9228-dc57a0bb52c4\",\n        \"node\": {\n            \"id\": \"01a17221-d88d-712f-b8a3-8a25d99820ed\",\n            \"name\": \"Sample-dntn67676936\"\n        },\n        \"min_price\": \"0.00\",\n        \"max_price\": \"0.00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Out of range paid 200.01 ar",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Out of range paid 200.01 ar",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "ar",
                                                    "path": "api/v1/provider/services/01a17221-d83f-72d2-ba11-c02c34ac8a5d",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100.00",
                                                        "is_active": true,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d845-720a-8b5a-bf6d41aa253f",
                                                                "price": "200.01"
                                                            },
                                                            {
                                                                "service_id": "01a17221-d848-7353-862f-1f6b1080fb6a",
                                                                "price": "0.00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_out_of_range_is_typed_names_node_and_rolls_back"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d83f-72d2-ba11-c02c34ac8a5d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d83f-72d2-ba11-c02c34ac8a5d"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100.00\",\n    \"is_active\": true,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d845-720a-8b5a-bf6d41aa253f\",\n            \"price\": \"200.01\"\n        },\n        {\n            \"service_id\": \"01a17221-d848-7353-862f-1f6b1080fb6a\",\n            \"price\": \"0.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"يجب أن يكون سعر Sample-divp97042058 بين 10.00 و200.00 ر.س.\",\n    \"data\": {\n        \"error_code\": \"PRICE_OUT_OF_RANGE\",\n        \"correlation_id\": \"ac1200bc-3d12-45d8-b598-cdca74d30c85\",\n        \"node\": {\n            \"id\": \"01a17221-d845-720a-8b5a-bf6d41aa253f\",\n            \"name\": \"Sample-divp97042058\"\n        },\n        \"min_price\": \"10.00\",\n        \"max_price\": \"200.00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Out of range paid 9.99 en",
                                            "_joshen": {
                                                "route": "provider.services.update",
                                                "name": "Out of range paid 9.99 en",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d80d-7055-913f-ab7862576a9d",
                                                    "query": null,
                                                    "body": {
                                                        "price": "100.00",
                                                        "is_active": true,
                                                        "choices": [
                                                            {
                                                                "service_id": "01a17221-d813-73ec-b116-aca40878df12",
                                                                "price": "9.99"
                                                            },
                                                            {
                                                                "service_id": "01a17221-d816-70d3-a442-04058f098005",
                                                                "price": "0.00"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_out_of_range_is_typed_names_node_and_rolls_back"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d80d-7055-913f-ab7862576a9d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d80d-7055-913f-ab7862576a9d"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"100.00\",\n    \"is_active\": true,\n    \"choices\": [\n        {\n            \"service_id\": \"01a17221-d813-73ec-b116-aca40878df12\",\n            \"price\": \"9.99\"\n        },\n        {\n            \"service_id\": \"01a17221-d816-70d3-a442-04058f098005\",\n            \"price\": \"0.00\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The price for Sample-xzvm90512993 must be between 10.00 and 200.00 SAR.\",\n    \"data\": {\n        \"error_code\": \"PRICE_OUT_OF_RANGE\",\n        \"correlation_id\": \"d7c8c660-d8db-428a-89d0-f6ae6740a38b\",\n        \"node\": {\n            \"id\": \"01a17221-d813-73ec-b116-aca40878df12\",\n            \"name\": \"Sample-xzvm90512993\"\n        },\n        \"min_price\": \"10.00\",\n        \"max_price\": \"200.00\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "service_choice_id",
                                                "path": "data.option_groups.*.choices.*.id"
                                            },
                                            {
                                                "name": "service_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "service_choice_id",
                                                "set_by": [
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Toggle Status",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/services/:service/toggle",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "services",
                                                ":service",
                                                "toggle"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "service",
                                                    "value": "{{service_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.services.toggle`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `is_active`\n- **Description:** Explicit desired visibility; enabling a service requires complete prices (BR-06).\n- **Type:** `boolean`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|boolean`\n- `required` — must be provided.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Enable with no active choices\n- `200` Explicitly disable a service\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot price or manage services — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Unknown malformed or integer service UUID\n- `422` Cannot enable saved base without choices — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable disabled — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable foreign — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable inactive — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable rejected — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Category unavailable requested — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Groups cannot be priced or toggled as bookable services — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Inactive saved free price does not complete an active service — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid shape or integer reference\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d8c9-73f3-8236-67d14101111f\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"default_duration_min\": 60,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\",\n        \"reference_price\": null,\n        \"price\": \"100.00\",\n        \"is_active\": true,\n        \"duration_min\": null,\n        \"can_price\": true,\n        \"can_toggle\": true,\n        \"option_groups\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"is_active\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Enable with no active choices",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Enable with no active choices",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_enable_requires_all_active_choice_prices_and_checklist_uses_same_rule"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d8c9-73f3-8236-67d14101111f",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d8c9-73f3-8236-67d14101111f\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"default_duration_min\": 60,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\",\n        \"reference_price\": null,\n        \"price\": \"100.00\",\n        \"is_active\": true,\n        \"duration_min\": null,\n        \"can_price\": true,\n        \"can_toggle\": true,\n        \"option_groups\": []\n    }\n}"
                                        },
                                        {
                                            "name": "200 Explicitly disable a service",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Explicitly disable a service",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_enable_requires_all_active_choice_prices_and_checklist_uses_same_rule"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d8c9-73f3-8236-67d14101111f",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a17221-d8c9-73f3-8236-67d14101111f\",\n        \"name\": \"Makeup\",\n        \"description\": null,\n        \"default_duration_min\": 60,\n        \"min_price\": \"50.00\",\n        \"max_price\": \"500.00\",\n        \"reference_price\": null,\n        \"price\": \"100.00\",\n        \"is_active\": false,\n        \"duration_min\": null,\n        \"can_price\": true,\n        \"can_toggle\": true,\n        \"option_groups\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/:service/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        ":service",
                                                        "toggle"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot price or manage services",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Pending provider cannot price or manage services",
                                                "code": 403,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dc91-7382-a7e5-8cf442354e9d/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_pricing_requires_provider_app_and_approved_account"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dc91-7382-a7e5-8cf442354e9d/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dc91-7382-a7e5-8cf442354e9d",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"f0507d59-f6d1-486e-9cec-cdcd435d4445\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/:service/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        ":service",
                                                        "toggle"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "service",
                                                            "value": "{{service_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown malformed or integer service UUID",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Unknown malformed or integer service UUID",
                                                "code": 404,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/invalid/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_uuid_shape_precision_and_missing_records"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/invalid/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "invalid",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Cannot enable saved base without choices",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Cannot enable saved base without choices",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_enable_requires_all_active_choice_prices_and_checklist_uses_same_rule"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d8c9-73f3-8236-67d14101111f/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d8c9-73f3-8236-67d14101111f",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Price every active choice before enabling the service. Missing prices: Sample-yssi94316262, Sample-yavz38592013.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"98471ddb-646f-455b-8f56-2f2c7ad51aed\",\n        \"unpriced_choices\": [\n            {\n                \"id\": \"01a17221-d8d0-7017-88df-c66db42f125e\",\n                \"name\": \"Sample-yssi94316262\"\n            },\n            {\n                \"id\": \"01a17221-d8d4-707e-9396-9dc9d02d2c5a\",\n                \"name\": \"Sample-yavz38592013\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable disabled",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Category unavailable disabled",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dba5-71de-a696-052ebdb405a2/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dba5-71de-a696-052ebdb405a2/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dba5-71de-a696-052ebdb405a2",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"a80cb2aa-1c29-455f-b64b-8d3c46d0e8c4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable foreign",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Category unavailable foreign",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dae4-721a-b2ee-edbc8d205106/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dae4-721a-b2ee-edbc8d205106/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dae4-721a-b2ee-edbc8d205106",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"5d5e8290-4e38-4d70-99ea-951cdb05c607\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable inactive",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Category unavailable inactive",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dbeb-717c-aaea-7b92eaa66466/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dbeb-717c-aaea-7b92eaa66466/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dbeb-717c-aaea-7b92eaa66466",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"03e1c23c-11ea-486c-9c6a-125a51ce4ede\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable rejected",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Category unavailable rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-db65-7059-995b-8d21b8b484ec/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-db65-7059-995b-8d21b8b484ec/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-db65-7059-995b-8d21b8b484ec",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"f23f09bd-ed78-4e80-aa13-cddfd23a1543\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category unavailable requested",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Category unavailable requested",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-db26-72e2-bce2-97da34299a9d/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_009_foreign_unapproved_disabled_and_inactive_categories_return_422"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-db26-72e2-bce2-97da34299a9d/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-db26-72e2-bce2-97da34299a9d",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"965e6374-1ad7-4d07-869f-d8c3f2230e2b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Groups cannot be priced or toggled as bookable services",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Groups cannot be priced or toggled as bookable services",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-d98a-726a-a609-a12491a5a015/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_group_and_foreign_or_inactive_choices_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-d98a-726a-a609-a12491a5a015/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-d98a-726a-a609-a12491a5a015",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Only an active bookable service can be priced or enabled; option groups cannot be priced.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"952b6156-87d5-45c1-8997-b01b56c1ded5\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Inactive saved free price does not complete an active service",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Inactive saved free price does not complete an active service",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-ddb2-7190-b83e-e594fa924985/toggle",
                                                    "query": null,
                                                    "body": {
                                                        "is_active": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_multiple_groups_optional_choices_and_sql_views_agree"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-ddb2-7190-b83e-e594fa924985/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-ddb2-7190-b83e-e594fa924985",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_active\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Price every active choice before enabling the service. Missing prices: Sample-wgsj90987038.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"f4203ddd-c8b9-4613-adda-ba4b10207e2a\",\n        \"unpriced_choices\": [\n            {\n                \"id\": \"01a17221-ddba-71ef-b822-b40752a48d75\",\n                \"name\": \"Sample-wgsj90987038\"\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid shape or integer reference",
                                            "_joshen": {
                                                "route": "provider.services.toggle",
                                                "name": "Invalid shape or integer reference",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/services/01a17221-dc28-7114-9648-3b75d267aef4/toggle",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\ServicesPricingTest::test_ac_prov_010_uuid_shape_precision_and_missing_records"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/services/01a17221-dc28-7114-9648-3b75d267aef4/toggle",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "services",
                                                        "01a17221-dc28-7114-9648-3b75d267aef4",
                                                        "toggle"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The status field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"is_active\": [\n                \"The status field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Packages",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"package_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/packages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "packages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number, starting at 1. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Page size, 1–50, default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "approved",
                                                    "description": "Only packages in this status. Archived packages are hidden unless asked for. — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.packages.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number, starting at 1. — `integer` (optional)\n- `per_page` — Page size, 1–50, default 15. — `integer` (optional)\n- `filters[status]` — Only packages in this status. Archived packages are hidden unless asked for. — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived` (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `package_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` My packages\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"packages\": [\n            {\n                \"id\": \"01a17208-eefd-71b4-a6d4-f8870fb64db9\",\n                \"name\": \"Sample-ntgo56171989\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-eeec-73af-b1ef-a81003768017\",\n                    \"name\": \"Sample-thhy84703221\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Published\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"discount_percent\": 25,\n                \"net_amount\": null,\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"can_edit\": true,\n                \"can_submit\": false,\n                \"can_toggle_visibility\": true,\n                \"can_archive\": true,\n                \"submitted_at\": null,\n                \"created_at\": \"2026-10-25T07:49:10+00:00\"\n            },\n            {\n                \"id\": \"01a17208-eef9-71de-a42a-b5798bd51c9a\",\n                \"name\": \"Sample-omwr37933740\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-eeec-73af-b1ef-a81003768017\",\n                    \"name\": \"Sample-thhy84703221\"\n                },\n                \"status\": {\n                    \"value\": \"draft\",\n                    \"label\": \"Draft\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"discount_percent\": 25,\n                \"net_amount\": null,\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"can_edit\": true,\n                \"can_submit\": true,\n                \"can_toggle_visibility\": false,\n                \"can_archive\": true,\n                \"submitted_at\": null,\n                \"created_at\": \"2026-10-25T07:49:10+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/packages?page=1\",\n            \"last\": \"http://localhost/api/v1/provider/packages?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/packages?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/packages\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 My packages",
                                            "_joshen": {
                                                "route": "provider.packages.index",
                                                "name": "My packages",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_list_is_paginated_filtered_and_hides_archived_by_default"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"packages\": [\n            {\n                \"id\": \"01a17208-eefd-71b4-a6d4-f8870fb64db9\",\n                \"name\": \"Sample-ntgo56171989\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-eeec-73af-b1ef-a81003768017\",\n                    \"name\": \"Sample-thhy84703221\"\n                },\n                \"status\": {\n                    \"value\": \"approved\",\n                    \"label\": \"Published\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"discount_percent\": 25,\n                \"net_amount\": null,\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"can_edit\": true,\n                \"can_submit\": false,\n                \"can_toggle_visibility\": true,\n                \"can_archive\": true,\n                \"submitted_at\": null,\n                \"created_at\": \"2026-10-25T07:49:10+00:00\"\n            },\n            {\n                \"id\": \"01a17208-eef9-71de-a42a-b5798bd51c9a\",\n                \"name\": \"Sample-omwr37933740\",\n                \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n                \"category\": {\n                    \"id\": \"01a17208-eeec-73af-b1ef-a81003768017\",\n                    \"name\": \"Sample-thhy84703221\"\n                },\n                \"status\": {\n                    \"value\": \"draft\",\n                    \"label\": \"Draft\"\n                },\n                \"is_visible\": true,\n                \"hidden_by_admin\": false,\n                \"price\": \"300.00\",\n                \"compare_at_price\": \"400.00\",\n                \"discount_percent\": 25,\n                \"net_amount\": null,\n                \"validity_days\": 30,\n                \"services_count\": 2,\n                \"sessions_count\": 2,\n                \"review_note\": null,\n                \"can_edit\": true,\n                \"can_submit\": true,\n                \"can_toggle_visibility\": false,\n                \"can_archive\": true,\n                \"submitted_at\": null,\n                \"created_at\": \"2026-10-25T07:49:10+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/packages?page=1\",\n            \"last\": \"http://localhost/api/v1/provider/packages?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/packages?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/packages\",\n            \"per_page\": 15,\n            \"to\": 2,\n            \"total\": 2\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Page size, 1–50, default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "approved",
                                                            "description": "Only packages in this status. Archived packages are hidden unless asked for. — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number, starting at 1. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Page size, 1–50, default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "approved",
                                                            "description": "Only packages in this status. Archived packages are hidden unless asked for. — `string (enum)`, one of: `draft`, `pending_review`, `approved`, `rejected`, `archived`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "provider.packages.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages",
                                                    "query": {
                                                        "filters": {
                                                            "status": "bogus"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_list_is_paginated_filtered_and_hides_archived_by_default"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages?filters[status]=bogus",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "bogus"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "package_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Options",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/packages/options",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "packages",
                                                "options"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.packages.options`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Package form options\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"validity_days\": [\n            30,\n            45,\n            60,\n            90\n        ],\n        \"categories\": [\n            {\n                \"id\": \"01a17208-ebfa-72b8-8692-48083aefc7b5\",\n                \"name\": \"Sample-ivyb17717986\"\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17208-ec06-721c-a743-3c9f6b5a360a\",\n                \"name\": \"Sample-bkqc35855748\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a17208-ebfe-704d-b4e7-d770b10d4f2c\",\n                \"name\": \"Makeup\",\n                \"category\": {\n                    \"id\": \"01a17208-ebfa-72b8-8692-48083aefc7b5\",\n                    \"name\": \"Sample-ivyb17717986\"\n                },\n                \"price\": \"150.00\",\n                \"duration_min\": 90\n            },\n            {\n                \"id\": \"01a17208-ec02-73e2-b739-293a01eb7df8\",\n                \"name\": \"Hair\",\n                \"category\": {\n                    \"id\": \"01a17208-ebfa-72b8-8692-48083aefc7b5\",\n                    \"name\": \"Sample-ivyb17717986\"\n                },\n                \"price\": \"250.00\",\n                \"duration_min\": 60\n            }\n        ],\n        \"commission\": {\n            \"calc_type\": \"percent\",\n            \"value\": \"20.00\",\n            \"commission_amount\": \"20.00\",\n            \"net_amount\": \"80.00\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package form options",
                                            "_joshen": {
                                                "route": "provider.packages.options",
                                                "name": "Package form options",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/options",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_options_list_what_the_form_can_use"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/options",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "options"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"validity_days\": [\n            30,\n            45,\n            60,\n            90\n        ],\n        \"categories\": [\n            {\n                \"id\": \"01a17208-ebfa-72b8-8692-48083aefc7b5\",\n                \"name\": \"Sample-ivyb17717986\"\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17208-ec06-721c-a743-3c9f6b5a360a\",\n                \"name\": \"Sample-bkqc35855748\"\n            }\n        ],\n        \"services\": [\n            {\n                \"id\": \"01a17208-ebfe-704d-b4e7-d770b10d4f2c\",\n                \"name\": \"Makeup\",\n                \"category\": {\n                    \"id\": \"01a17208-ebfa-72b8-8692-48083aefc7b5\",\n                    \"name\": \"Sample-ivyb17717986\"\n                },\n                \"price\": \"150.00\",\n                \"duration_min\": 90\n            },\n            {\n                \"id\": \"01a17208-ec02-73e2-b739-293a01eb7df8\",\n                \"name\": \"Hair\",\n                \"category\": {\n                    \"id\": \"01a17208-ebfa-72b8-8692-48083aefc7b5\",\n                    \"name\": \"Sample-ivyb17717986\"\n                },\n                \"price\": \"250.00\",\n                \"duration_min\": 60\n            }\n        ],\n        \"commission\": {\n            \"calc_type\": \"percent\",\n            \"value\": \"20.00\",\n            \"commission_amount\": \"20.00\",\n            \"net_amount\": \"80.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/options",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "options"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/options",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "options"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"occasion_id\",\"Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\"],[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"package_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/packages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "packages"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.packages.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `name`\n- **Description:** Package title shown to customers (the provider's own text, not translated).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Skin renewal package`\n- **Validation rules:** `required|string|max:150`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `description`\n- **Description:** Optional short description, up to 2000 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Four deep-cleansing sessions`\n- **Validation rules:** `sometimes|nullable|string|max:2000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:2000` — must not exceed 2000.\n### `category_id`\n- **Description:** Main category (`categories`, BRD main service) shown on the card; must be one of her approved, enabled categories (BR-07).\n- **Type:** `string (uuid)`\n- **Refers to:** a `categories` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{category_id}}`\n- **Validation rules:** `required|uuid|exists:categories,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:categories,uuid` — must reference an existing record (categories, uuid).\n### `occasion_ids`\n- **Description:** Occasions the package suits (`occasions`, e.g. bridal); replaces the stored list. Optional.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{occasion_id}}\"]`\n- **Validation rules:** `sometimes|array|list|max:20`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:20` — must not exceed 20.\n### `occasion_ids.*`\n- **Description:** Public uuid of an active occasion.\n- **Type:** `string (uuid)`\n- **Refers to:** a `occasions` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{occasion_id}}`\n- **Validation rules:** `required|distinct|uuid|exists:occasions,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:occasions,uuid` — must reference an existing record (occasions, uuid).\n### `items`\n- **Description:** Included services; replaces the stored list. At least two sessions in total across all items (D1). Each service must be enabled and fully priced by her (BR-07).\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[{\"service_id\":\"{{service_id}}\",\"sessions\":4}]`\n- **Validation rules:** `required|array|list|min:1|max:20`\n- `required` — must be provided.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `min:1` — must be at least 1.\n- `max:20` — must not exceed 20.\n### `items.*`\n- **Description:** One included bookable service with the number of prepaid sessions.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `{\"service_id\":\"{{service_id}}\",\"sessions\":4}`\n- **Validation rules:** `required|array:service_id,sessions`\n- `required` — must be provided.\n- `array:service_id,sessions` — must be an array.\n### `items.*.service_id`\n- **Description:** Public uuid of a bookable service (type 1) she offers.\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{service_id}}`\n- **Validation rules:** `required|distinct|uuid|exists:services,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n### `items.*.sessions`\n- **Description:** Prepaid sessions of this service in the package, 1–20 (D1).\n- **Type:** `integer`\n- **Required:** required\n- **Example:** `4`\n- **Validation rules:** `required|integer|between:1,20`\n- `required` — must be provided.\n- `integer` — must be a whole number.\n- `between:1,20` — must be between 1, 20.\n### `price`\n- **Description:** Fixed package price in SAR, 2 decimals, above zero and not above the total of her service prices × sessions (`compare_at_price`). Customers pay this once, then redeem sessions (D1).\n- **Type:** `number`\n- **Required:** required\n- **Example:** `690.00`\n- **Validation rules:** `required|numeric|decimal:0,2|gt:0|max:9999999999.99`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `gt:0` — custom validation rule.\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `validity_days`\n- **Description:** How long the bought package can be used: 30, 45, 60 or 90 days (D1).\n- **Type:** `integer`\n- **Allowed values:** `30`, `45`, `60`, `90`\n- **Required:** required\n- **Example:** `45`\n- **Validation rules:** `required|integer|in:\"30\",\"45\",\"60\",\"90\"`\n- `required` — must be provided.\n- `integer` — must be a whole number.\n- `in:\"30\",\"45\",\"60\",\"90\"` — must be one of: \"30\", \"45\", \"60\", \"90\".\n### `image`\n- **Description:** Cover image: media hash from `POST /api/v1/media` (jpg/jpeg/png/webp, up to 5 MiB), uploaded by the same provider and not used elsewhere. `null` removes it.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `sometimes|nullable|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{occasion_id}}` — Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `package_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Draft created from two enabled services\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Category she has not been approved for — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Content refused: price above her services — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Content refused: single session — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid package form\n- `422` Service not enabled for her — `error_code: PACKAGE_SERVICES_UNAVAILABLE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-ead6-710b-8dc1-54c3c859ac10\",\n        \"name\": \"Bridal package\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-eaab-7260-a03f-03c606815613\",\n            \"name\": \"Sample-ksnc13706463\"\n        },\n        \"status\": {\n            \"value\": \"draft\",\n            \"label\": \"Draft\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"500.00\",\n        \"compare_at_price\": \"650.00\",\n        \"discount_percent\": 23,\n        \"net_amount\": null,\n        \"validity_days\": 45,\n        \"services_count\": 2,\n        \"sessions_count\": 3,\n        \"review_note\": null,\n        \"can_edit\": true,\n        \"can_submit\": true,\n        \"can_toggle_visibility\": false,\n        \"can_archive\": true,\n        \"submitted_at\": null,\n        \"created_at\": \"2026-10-25T07:49:09+00:00\",\n        \"description\": \"Bridal day\",\n        \"services\": [\n            {\n                \"id\": \"01a17208-ead8-73ef-a6b0-a150dfc08088\",\n                \"service\": {\n                    \"id\": \"01a17208-eab0-7222-bb09-b5f66e5d7148\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 90\n            },\n            {\n                \"id\": \"01a17208-ead8-73ef-a6b0-a150dfc0fb1b\",\n                \"service\": {\n                    \"id\": \"01a17208-eab4-70ac-9cdc-3529e15a32cb\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 2,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17208-eab9-729f-ab7d-a72fbaca1e15\",\n                \"name\": \"Sample-baej26594335\"\n            }\n        ],\n        \"commission\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"name\": \"Skin renewal package\",\n    \"description\": \"Four deep-cleansing sessions\",\n    \"category_id\": \"{{category_id}}\",\n    \"occasion_ids\": [\n        \"{{occasion_id}}\"\n    ],\n    \"items\": [\n        {\n            \"service_id\": \"{{service_id}}\",\n            \"sessions\": 4\n        }\n    ],\n    \"price\": \"690.00\",\n    \"validity_days\": 45,\n    \"image\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Draft created from two enabled services",
                                            "_joshen": {
                                                "route": "provider.packages.store",
                                                "name": "Draft created from two enabled services",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages",
                                                    "query": null,
                                                    "body": {
                                                        "name": "Bridal package",
                                                        "category_id": "01a17208-eaab-7260-a03f-03c606815613",
                                                        "price": "500.00",
                                                        "validity_days": 45,
                                                        "items": [
                                                            {
                                                                "service_id": "01a17208-eab0-7222-bb09-b5f66e5d7148",
                                                                "sessions": 1
                                                            },
                                                            {
                                                                "service_id": "01a17208-eab4-70ac-9cdc-3529e15a32cb",
                                                                "sessions": 2
                                                            }
                                                        ],
                                                        "occasion_ids": [
                                                            "01a17208-eab9-729f-ab7d-a72fbaca1e15"
                                                        ],
                                                        "description": "Bridal day"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_provider_creates_a_draft_from_her_enabled_services"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Bridal package\",\n    \"category_id\": \"01a17208-eaab-7260-a03f-03c606815613\",\n    \"price\": \"500.00\",\n    \"validity_days\": 45,\n    \"items\": [\n        {\n            \"service_id\": \"01a17208-eab0-7222-bb09-b5f66e5d7148\",\n            \"sessions\": 1\n        },\n        {\n            \"service_id\": \"01a17208-eab4-70ac-9cdc-3529e15a32cb\",\n            \"sessions\": 2\n        }\n    ],\n    \"occasion_ids\": [\n        \"01a17208-eab9-729f-ab7d-a72fbaca1e15\"\n    ],\n    \"description\": \"Bridal day\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-ead6-710b-8dc1-54c3c859ac10\",\n        \"name\": \"Bridal package\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-eaab-7260-a03f-03c606815613\",\n            \"name\": \"Sample-ksnc13706463\"\n        },\n        \"status\": {\n            \"value\": \"draft\",\n            \"label\": \"Draft\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"500.00\",\n        \"compare_at_price\": \"650.00\",\n        \"discount_percent\": 23,\n        \"net_amount\": null,\n        \"validity_days\": 45,\n        \"services_count\": 2,\n        \"sessions_count\": 3,\n        \"review_note\": null,\n        \"can_edit\": true,\n        \"can_submit\": true,\n        \"can_toggle_visibility\": false,\n        \"can_archive\": true,\n        \"submitted_at\": null,\n        \"created_at\": \"2026-10-25T07:49:09+00:00\",\n        \"description\": \"Bridal day\",\n        \"services\": [\n            {\n                \"id\": \"01a17208-ead8-73ef-a6b0-a150dfc08088\",\n                \"service\": {\n                    \"id\": \"01a17208-eab0-7222-bb09-b5f66e5d7148\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 90\n            },\n            {\n                \"id\": \"01a17208-ead8-73ef-a6b0-a150dfc0fb1b\",\n                \"service\": {\n                    \"id\": \"01a17208-eab4-70ac-9cdc-3529e15a32cb\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 2,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [\n            {\n                \"id\": \"01a17208-eab9-729f-ab7d-a72fbaca1e15\",\n                \"name\": \"Sample-baej26594335\"\n            }\n        ],\n        \"commission\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Skin renewal package\",\n    \"description\": \"Four deep-cleansing sessions\",\n    \"category_id\": \"{{category_id}}\",\n    \"occasion_ids\": [\n        \"{{occasion_id}}\"\n    ],\n    \"items\": [\n        {\n            \"service_id\": \"{{service_id}}\",\n            \"sessions\": 4\n        }\n    ],\n    \"price\": \"690.00\",\n    \"validity_days\": 45,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Skin renewal package\",\n    \"description\": \"Four deep-cleansing sessions\",\n    \"category_id\": \"{{category_id}}\",\n    \"occasion_ids\": [\n        \"{{occasion_id}}\"\n    ],\n    \"items\": [\n        {\n            \"service_id\": \"{{service_id}}\",\n            \"sessions\": 4\n        }\n    ],\n    \"price\": \"690.00\",\n    \"validity_days\": 45,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Category she has not been approved for",
                                            "_joshen": {
                                                "route": "provider.packages.store",
                                                "name": "Category she has not been approved for",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages",
                                                    "query": null,
                                                    "body": {
                                                        "name": "Bridal package",
                                                        "category_id": "01a17208-ecbd-72f4-84d7-bfc6a320efe3",
                                                        "price": "500.00",
                                                        "validity_days": 45,
                                                        "items": [
                                                            {
                                                                "service_id": "01a17208-ecb5-72f5-b34f-d36d1a79c711",
                                                                "sessions": 1
                                                            },
                                                            {
                                                                "service_id": "01a17208-ecb8-72da-ab54-3755cb873c12",
                                                                "sessions": 2
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_category_must_be_one_of_hers"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Bridal package\",\n    \"category_id\": \"01a17208-ecbd-72f4-84d7-bfc6a320efe3\",\n    \"price\": \"500.00\",\n    \"validity_days\": 45,\n    \"items\": [\n        {\n            \"service_id\": \"01a17208-ecb5-72f5-b34f-d36d1a79c711\",\n            \"sessions\": 1\n        },\n        {\n            \"service_id\": \"01a17208-ecb8-72da-ab54-3755cb873c12\",\n            \"sessions\": 2\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Select one of your approved, enabled and active categories before pricing.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Select one of your approved, enabled and active categories before pricing.\"\n            ]\n        },\n        \"correlation_id\": \"65c6a382-ce09-48e0-a681-af5aa245f0e0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Content refused: price above her services",
                                            "_joshen": {
                                                "route": "provider.packages.store",
                                                "name": "Content refused: price above her services",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages",
                                                    "query": null,
                                                    "body": {
                                                        "name": "Bridal package",
                                                        "category_id": "01a17208-ece5-72e0-b6d6-83654e3a47bf",
                                                        "price": "650.01",
                                                        "validity_days": 45,
                                                        "items": [
                                                            {
                                                                "service_id": "01a17208-ece9-7289-af55-f3cbd8ee6a7e",
                                                                "sessions": 1
                                                            },
                                                            {
                                                                "service_id": "01a17208-ecec-73b2-9a7a-a8a241cb6cdb",
                                                                "sessions": 2
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_price_and_sessions_are_checked"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Bridal package\",\n    \"category_id\": \"01a17208-ece5-72e0-b6d6-83654e3a47bf\",\n    \"price\": \"650.01\",\n    \"validity_days\": 45,\n    \"items\": [\n        {\n            \"service_id\": \"01a17208-ece9-7289-af55-f3cbd8ee6a7e\",\n            \"sessions\": 1\n        },\n        {\n            \"service_id\": \"01a17208-ecec-73b2-9a7a-a8a241cb6cdb\",\n            \"sessions\": 2\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The package price cannot be higher than the total of your service prices (650.00 SAR).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"6ad6ce2e-fc9e-43ae-82b0-30f6438d993f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Content refused: single session",
                                            "_joshen": {
                                                "route": "provider.packages.store",
                                                "name": "Content refused: single session",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages",
                                                    "query": null,
                                                    "body": {
                                                        "name": "Bridal package",
                                                        "category_id": "01a17208-ed17-7277-8651-e69738f9c316",
                                                        "price": "500.00",
                                                        "validity_days": 45,
                                                        "items": [
                                                            {
                                                                "service_id": "01a17208-ed1b-71f3-b7b0-0c6c9ebb2aa8",
                                                                "sessions": 1
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_price_and_sessions_are_checked"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Bridal package\",\n    \"category_id\": \"01a17208-ed17-7277-8651-e69738f9c316\",\n    \"price\": \"500.00\",\n    \"validity_days\": 45,\n    \"items\": [\n        {\n            \"service_id\": \"01a17208-ed1b-71f3-b7b0-0c6c9ebb2aa8\",\n            \"sessions\": 1\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"A package needs at least two sessions in total: two services, or one service for several sessions.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"bd8a16aa-9a4c-4fa9-9622-37af5e4a72ef\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid package form",
                                            "_joshen": {
                                                "route": "provider.packages.store",
                                                "name": "Invalid package form",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages",
                                                    "query": null,
                                                    "body": {
                                                        "category_id": "x",
                                                        "items": [
                                                            {
                                                                "service_id": "01a17208-ec3b-7262-9783-115b199e9cf2",
                                                                "sessions": 0
                                                            }
                                                        ],
                                                        "price": "0",
                                                        "validity_days": 40
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_shape_errors_are_per_field"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"category_id\": \"x\",\n    \"items\": [\n        {\n            \"service_id\": \"01a17208-ec3b-7262-9783-115b199e9cf2\",\n            \"sessions\": 0\n        }\n    ],\n    \"price\": \"0\",\n    \"validity_days\": 40\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Name field is required. (and 4 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"name\": [\n                \"The Name field is required.\"\n            ],\n            \"category_id\": [\n                \"The Category field must be a valid UUID.\"\n            ],\n            \"price\": [\n                \"The Price field must be greater than 0.\"\n            ],\n            \"validity_days\": [\n                \"The selected Validity is invalid.\"\n            ],\n            \"items.0.sessions\": [\n                \"The Sessions field must be between 1 and 20.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Service not enabled for her",
                                            "_joshen": {
                                                "route": "provider.packages.store",
                                                "name": "Service not enabled for her",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages",
                                                    "query": null,
                                                    "body": {
                                                        "name": "Bridal package",
                                                        "category_id": "01a17208-ec60-716a-9719-9f00f9aaeafd",
                                                        "price": "500.00",
                                                        "validity_days": 45,
                                                        "items": [
                                                            {
                                                                "service_id": "01a17208-ec64-7382-84fa-1dc36d3f3a1e",
                                                                "sessions": 1
                                                            },
                                                            {
                                                                "service_id": "01a17208-ec67-70a5-9a2a-895cfea7a780",
                                                                "sessions": 2
                                                            },
                                                            {
                                                                "service_id": "01a17208-ec6d-7313-8c1d-32c0017eddc1",
                                                                "sessions": 1
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_services_must_be_enabled_and_fully_priced_by_her"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Bridal package\",\n    \"category_id\": \"01a17208-ec60-716a-9719-9f00f9aaeafd\",\n    \"price\": \"500.00\",\n    \"validity_days\": 45,\n    \"items\": [\n        {\n            \"service_id\": \"01a17208-ec64-7382-84fa-1dc36d3f3a1e\",\n            \"sessions\": 1\n        },\n        {\n            \"service_id\": \"01a17208-ec67-70a5-9a2a-895cfea7a780\",\n            \"sessions\": 2\n        },\n        {\n            \"service_id\": \"01a17208-ec6d-7313-8c1d-32c0017eddc1\",\n            \"sessions\": 1\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"These services are not enabled and fully priced for you: Henna.\",\n    \"data\": {\n        \"error_code\": \"PACKAGE_SERVICES_UNAVAILABLE\",\n        \"context\": {\n            \"services\": [\n                \"01a17208-ec6d-7313-8c1d-32c0017eddc1\"\n            ]\n        },\n        \"correlation_id\": \"6babba46-c956-4384-9319-18092766575e\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "package_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "occasion_id",
                                                "set_by": [
                                                    "admin.joshan.occasions.index",
                                                    "admin.joshan.occasions.store",
                                                    "admin.joshan.occasions.show",
                                                    "admin.joshan.occasions.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                            },
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"package_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/packages/:package",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "packages",
                                                ":package"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.packages.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `package_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Package details with commission preview\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-f015-7120-969f-6d21b6b0b156\",\n        \"name\": \"Sample-kyyr20741778\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-f009-71ca-a416-ae425bf9d3e7\",\n            \"name\": \"Sample-cemm27196779\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"690.00\",\n        \"compare_at_price\": \"800.00\",\n        \"discount_percent\": 14,\n        \"net_amount\": \"552.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"can_edit\": true,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": true,\n        \"can_archive\": true,\n        \"submitted_at\": null,\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-f016-7226-bcfa-26938b5a3164\",\n                \"service\": {\n                    \"id\": \"01a17208-f00c-72ff-a196-779945d480a4\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            },\n            {\n                \"id\": \"01a17208-f017-71ef-839c-566a4e3b7885\",\n                \"service\": {\n                    \"id\": \"01a17208-f00f-730c-ac01-6a22cd7a9e62\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": {\n            \"calc_type\": \"percent\",\n            \"value\": \"20.00\",\n            \"commission_amount\": \"138.00\",\n            \"net_amount\": \"552.00\"\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package details with commission preview",
                                            "_joshen": {
                                                "route": "provider.packages.show",
                                                "name": "Package details with commission preview",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/01a17208-f015-7120-969f-6d21b6b0b156",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_commission_preview_follows_the_active_package_rule"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/01a17208-f015-7120-969f-6d21b6b0b156",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "01a17208-f015-7120-969f-6d21b6b0b156"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-f015-7120-969f-6d21b6b0b156\",\n        \"name\": \"Sample-kyyr20741778\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-f009-71ca-a416-ae425bf9d3e7\",\n            \"name\": \"Sample-cemm27196779\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"690.00\",\n        \"compare_at_price\": \"800.00\",\n        \"discount_percent\": 14,\n        \"net_amount\": \"552.00\",\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"can_edit\": true,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": true,\n        \"can_archive\": true,\n        \"submitted_at\": null,\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-f016-7226-bcfa-26938b5a3164\",\n                \"service\": {\n                    \"id\": \"01a17208-f00c-72ff-a196-779945d480a4\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            },\n            {\n                \"id\": \"01a17208-f017-71ef-839c-566a4e3b7885\",\n                \"service\": {\n                    \"id\": \"01a17208-f00f-730c-ac01-6a22cd7a9e62\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": {\n            \"calc_type\": \"percent\",\n            \"value\": \"20.00\",\n            \"commission_amount\": \"138.00\",\n            \"net_amount\": \"552.00\"\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "package_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"category_id\",\"Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\"],[\"occasion_id\",\"Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\"],[\"service_id\",\"Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"package_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/packages/:package",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "packages",
                                                ":package"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.packages.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `name`\n- **Description:** Package title shown to customers (the provider's own text, not translated).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Skin renewal package`\n- **Validation rules:** `sometimes|string|max:150`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `description`\n- **Description:** Optional short description, up to 2000 characters.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Four deep-cleansing sessions`\n- **Validation rules:** `sometimes|nullable|string|max:2000`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:2000` — must not exceed 2000.\n### `category_id`\n- **Description:** Main category (`categories`, BRD main service) shown on the card; must be one of her approved, enabled categories (BR-07).\n- **Type:** `string (uuid)`\n- **Refers to:** a `categories` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{category_id}}`\n- **Validation rules:** `sometimes|uuid|exists:categories,uuid`\n- `sometimes` — validated only when the field is present.\n- `uuid` — must be a uuid.\n- `exists:categories,uuid` — must reference an existing record (categories, uuid).\n### `occasion_ids`\n- **Description:** Occasions the package suits (`occasions`, e.g. bridal); replaces the stored list. Optional.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{occasion_id}}\"]`\n- **Validation rules:** `sometimes|array|list|max:20`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:20` — must not exceed 20.\n### `occasion_ids.*`\n- **Description:** Public uuid of an active occasion.\n- **Type:** `string (uuid)`\n- **Refers to:** a `occasions` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{occasion_id}}`\n- **Validation rules:** `sometimes|distinct|uuid|exists:occasions,uuid`\n- `sometimes` — validated only when the field is present.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:occasions,uuid` — must reference an existing record (occasions, uuid).\n### `items`\n- **Description:** Included services; replaces the stored list. At least two sessions in total across all items (D1). Each service must be enabled and fully priced by her (BR-07).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[{\"service_id\":\"{{service_id}}\",\"sessions\":4}]`\n- **Validation rules:** `sometimes|array|list|min:1|max:20`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `min:1` — must be at least 1.\n- `max:20` — must not exceed 20.\n### `items.*`\n- **Description:** One included bookable service with the number of prepaid sessions.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"service_id\":\"{{service_id}}\",\"sessions\":4}`\n- **Validation rules:** `sometimes|array:service_id,sessions`\n- `sometimes` — validated only when the field is present.\n- `array:service_id,sessions` — must be an array.\n### `items.*.service_id`\n- **Description:** Public uuid of a bookable service (type 1) she offers.\n- **Type:** `string (uuid)`\n- **Refers to:** a `services` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{service_id}}`\n- **Validation rules:** `sometimes|distinct|uuid|exists:services,uuid`\n- `sometimes` — validated only when the field is present.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:services,uuid` — must reference an existing record (services, uuid).\n### `items.*.sessions`\n- **Description:** Prepaid sessions of this service in the package, 1–20 (D1).\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `4`\n- **Validation rules:** `sometimes|integer|between:1,20`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `between:1,20` — must be between 1, 20.\n### `price`\n- **Description:** Fixed package price in SAR, 2 decimals, above zero and not above the total of her service prices × sessions (`compare_at_price`). Customers pay this once, then redeem sessions (D1).\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `690.00`\n- **Validation rules:** `sometimes|numeric|decimal:0,2|gt:0|max:9999999999.99`\n- `sometimes` — validated only when the field is present.\n- `numeric` — must be numeric.\n- `decimal:0,2` — must have 0, 2 decimal places.\n- `gt:0` — custom validation rule.\n- `max:9999999999.99` — must not exceed 9999999999.99.\n### `validity_days`\n- **Description:** How long the bought package can be used: 30, 45, 60 or 90 days (D1).\n- **Type:** `integer`\n- **Allowed values:** `30`, `45`, `60`, `90`\n- **Required:** optional\n- **Example:** `45`\n- **Validation rules:** `sometimes|integer|in:\"30\",\"45\",\"60\",\"90\"`\n- `sometimes` — validated only when the field is present.\n- `integer` — must be a whole number.\n- `in:\"30\",\"45\",\"60\",\"90\"` — must be one of: \"30\", \"45\", \"60\", \"90\".\n### `image`\n- **Description:** Cover image: media hash from `POST /api/v1/media` (jpg/jpeg/png/webp, up to 5 MiB), uploaded by the same provider and not used elsewhere. `null` removes it.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `sometimes|nullable|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{category_id}}` — Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories.\n- Uses `{{occasion_id}}` — Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}.\n- Uses `{{service_id}}` — Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `package_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Approved package edited goes back to review\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Edit refused while pending review — `error_code: INVALID_STATE_TRANSITION`\n- `422` Invalid package edit\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-ee5f-725a-8f9f-15cafbbe49dc\",\n        \"name\": \"Sample-qvmg47660296\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-ee51-7236-be32-9aefa18252a4\",\n            \"name\": \"Sample-elwv83361570\"\n        },\n        \"status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"450.00\",\n        \"compare_at_price\": \"800.00\",\n        \"discount_percent\": 44,\n        \"net_amount\": null,\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 4,\n        \"review_note\": null,\n        \"can_edit\": false,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": false,\n        \"can_archive\": true,\n        \"submitted_at\": \"2026-10-25T07:49:10+00:00\",\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-ee74-7208-a386-ab980c023af9\",\n                \"service\": {\n                    \"id\": \"01a17208-ee55-71d9-b9e4-a93c856c6266\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 2,\n                \"duration_min\": 90\n            },\n            {\n                \"id\": \"01a17208-ee75-7164-a5e2-6b4478057e27\",\n                \"service\": {\n                    \"id\": \"01a17208-ee58-71bb-a1e0-c053dfa00b33\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 2,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"name\": \"Skin renewal package\",\n    \"description\": \"Four deep-cleansing sessions\",\n    \"category_id\": \"{{category_id}}\",\n    \"occasion_ids\": [\n        \"{{occasion_id}}\"\n    ],\n    \"items\": [\n        {\n            \"service_id\": \"{{service_id}}\",\n            \"sessions\": 4\n        }\n    ],\n    \"price\": \"690.00\",\n    \"validity_days\": 45,\n    \"image\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Approved package edited goes back to review",
                                            "_joshen": {
                                                "route": "provider.packages.update",
                                                "name": "Approved package edited goes back to review",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/01a17208-ee5f-725a-8f9f-15cafbbe49dc",
                                                    "query": null,
                                                    "body": {
                                                        "price": "450.00",
                                                        "items": [
                                                            {
                                                                "service_id": "01a17208-ee55-71d9-b9e4-a93c856c6266",
                                                                "sessions": 2
                                                            },
                                                            {
                                                                "service_id": "01a17208-ee58-71bb-a1e0-c053dfa00b33",
                                                                "sessions": 2
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_editing_an_approved_package_sends_it_back_to_review"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/01a17208-ee5f-725a-8f9f-15cafbbe49dc",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "01a17208-ee5f-725a-8f9f-15cafbbe49dc"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"450.00\",\n    \"items\": [\n        {\n            \"service_id\": \"01a17208-ee55-71d9-b9e4-a93c856c6266\",\n            \"sessions\": 2\n        },\n        {\n            \"service_id\": \"01a17208-ee58-71bb-a1e0-c053dfa00b33\",\n            \"sessions\": 2\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a17208-ee5f-725a-8f9f-15cafbbe49dc\",\n        \"name\": \"Sample-qvmg47660296\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-ee51-7236-be32-9aefa18252a4\",\n            \"name\": \"Sample-elwv83361570\"\n        },\n        \"status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"450.00\",\n        \"compare_at_price\": \"800.00\",\n        \"discount_percent\": 44,\n        \"net_amount\": null,\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 4,\n        \"review_note\": null,\n        \"can_edit\": false,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": false,\n        \"can_archive\": true,\n        \"submitted_at\": \"2026-10-25T07:49:10+00:00\",\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-ee74-7208-a386-ab980c023af9\",\n                \"service\": {\n                    \"id\": \"01a17208-ee55-71d9-b9e4-a93c856c6266\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 2,\n                \"duration_min\": 90\n            },\n            {\n                \"id\": \"01a17208-ee75-7164-a5e2-6b4478057e27\",\n                \"service\": {\n                    \"id\": \"01a17208-ee58-71bb-a1e0-c053dfa00b33\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 2,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Skin renewal package\",\n    \"description\": \"Four deep-cleansing sessions\",\n    \"category_id\": \"{{category_id}}\",\n    \"occasion_ids\": [\n        \"{{occasion_id}}\"\n    ],\n    \"items\": [\n        {\n            \"service_id\": \"{{service_id}}\",\n            \"sessions\": 4\n        }\n    ],\n    \"price\": \"690.00\",\n    \"validity_days\": 45,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Skin renewal package\",\n    \"description\": \"Four deep-cleansing sessions\",\n    \"category_id\": \"{{category_id}}\",\n    \"occasion_ids\": [\n        \"{{occasion_id}}\"\n    ],\n    \"items\": [\n        {\n            \"service_id\": \"{{service_id}}\",\n            \"sessions\": 4\n        }\n    ],\n    \"price\": \"690.00\",\n    \"validity_days\": 45,\n    \"image\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Edit refused while pending review",
                                            "_joshen": {
                                                "route": "provider.packages.update",
                                                "name": "Edit refused while pending review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/01a17208-eda4-7307-9aa9-d52b4e16cf33",
                                                    "query": null,
                                                    "body": {
                                                        "name": "Renamed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_submit_locks_the_package_until_joshen_decides"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/01a17208-eda4-7307-9aa9-d52b4e16cf33",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "01a17208-eda4-7307-9aa9-d52b4e16cf33"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"name\": \"Renamed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You cannot edit a package that is Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"64753029-8f59-4d1b-9b94-8df0e9852514\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid package edit",
                                            "_joshen": {
                                                "route": "provider.packages.update",
                                                "name": "Invalid package edit",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/01a17208-edfd-7162-aae4-649326711151",
                                                    "query": null,
                                                    "body": {
                                                        "price": "0",
                                                        "validity_days": 40
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_rejected_package_shows_the_reason_and_can_be_fixed_and_resubmitted"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/01a17208-edfd-7162-aae4-649326711151",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "01a17208-edfd-7162-aae4-649326711151"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"price\": \"0\",\n    \"validity_days\": 40\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Price field must be greater than 0. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"price\": [\n                \"The Price field must be greater than 0.\"\n            ],\n            \"validity_days\": [\n                \"The selected Validity is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "package_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "category_id",
                                                "set_by": [
                                                    "admin.categories.index",
                                                    "admin.categories.store",
                                                    "admin.categories.show",
                                                    "admin.categories.update",
                                                    "client.categories.index",
                                                    "client.categories.show",
                                                    "provider.categories.index",
                                                    "provider.my-categories.index",
                                                    "provider.my-categories.store"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/categories, POST /api/v1/admin/categories, GET /api/v1/admin/categories/{category}, PUT /api/v1/admin/categories/{category}, GET /api/v1/client/categories, GET /api/v1/client/categories/{category}, GET /api/v1/provider/categories, GET /api/v1/provider/my-categories, POST /api/v1/provider/categories."
                                            },
                                            {
                                                "name": "occasion_id",
                                                "set_by": [
                                                    "admin.joshan.occasions.index",
                                                    "admin.joshan.occasions.store",
                                                    "admin.joshan.occasions.show",
                                                    "admin.joshan.occasions.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/joshan/occasions, POST /api/v1/admin/joshan/occasions, GET /api/v1/admin/joshan/occasions/{occasion}, PUT /api/v1/admin/joshan/occasions/{occasion}."
                                            },
                                            {
                                                "name": "service_id",
                                                "set_by": [
                                                    "admin.services.index",
                                                    "admin.services.store",
                                                    "admin.services.show",
                                                    "admin.services.update",
                                                    "client.services.show",
                                                    "provider.services.index",
                                                    "provider.services.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/services, POST /api/v1/admin/services, GET /api/v1/admin/services/{service}, PUT /api/v1/admin/services/{service}, GET /api/v1/client/services/{service}, GET /api/v1/provider/services, PUT /api/v1/provider/services/{service}."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Submit",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/packages/:package/submit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "packages",
                                                ":package",
                                                "submit"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.packages.submit`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Submitted for Joshen review\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17208-eda4-7307-9aa9-d52b4e16cf33\",\n        \"name\": \"Bridal package\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-ed84-7124-b025-565d05781b0d\",\n            \"name\": \"Sample-aphf50875498\"\n        },\n        \"status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"500.00\",\n        \"compare_at_price\": \"650.00\",\n        \"discount_percent\": 23,\n        \"net_amount\": null,\n        \"validity_days\": 45,\n        \"services_count\": 2,\n        \"sessions_count\": 3,\n        \"review_note\": null,\n        \"can_edit\": false,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": false,\n        \"can_archive\": true,\n        \"submitted_at\": \"2026-10-25T07:49:10+00:00\",\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-eda5-712c-b9d8-c752045c8072\",\n                \"service\": {\n                    \"id\": \"01a17208-ed88-70c4-8be1-067ad10c3b31\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 90\n            },\n            {\n                \"id\": \"01a17208-eda6-727e-8964-6c1910171642\",\n                \"service\": {\n                    \"id\": \"01a17208-ed8b-729e-ab2d-004025f0bf46\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 2,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Submitted for Joshen review",
                                            "_joshen": {
                                                "route": "provider.packages.submit",
                                                "name": "Submitted for Joshen review",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/01a17208-eda4-7307-9aa9-d52b4e16cf33/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_submit_locks_the_package_until_joshen_decides"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/01a17208-eda4-7307-9aa9-d52b4e16cf33/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "01a17208-eda4-7307-9aa9-d52b4e16cf33",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17208-eda4-7307-9aa9-d52b4e16cf33\",\n        \"name\": \"Bridal package\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-ed84-7124-b025-565d05781b0d\",\n            \"name\": \"Sample-aphf50875498\"\n        },\n        \"status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"is_visible\": true,\n        \"hidden_by_admin\": false,\n        \"price\": \"500.00\",\n        \"compare_at_price\": \"650.00\",\n        \"discount_percent\": 23,\n        \"net_amount\": null,\n        \"validity_days\": 45,\n        \"services_count\": 2,\n        \"sessions_count\": 3,\n        \"review_note\": null,\n        \"can_edit\": false,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": false,\n        \"can_archive\": true,\n        \"submitted_at\": \"2026-10-25T07:49:10+00:00\",\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-eda5-712c-b9d8-c752045c8072\",\n                \"service\": {\n                    \"id\": \"01a17208-ed88-70c4-8be1-067ad10c3b31\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 90\n            },\n            {\n                \"id\": \"01a17208-eda6-727e-8964-6c1910171642\",\n                \"service\": {\n                    \"id\": \"01a17208-ed8b-729e-ab2d-004025f0bf46\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 2,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package",
                                                        "submit"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package",
                                                        "submit"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package",
                                                        "submit"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Visibility",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/packages/:package/visibility",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "packages",
                                                ":package",
                                                "visibility"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.packages.visibility`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `is_visible`\n- **Description:** Desired visibility for customers. Only an approved package can be toggled; Joshen may still hide it (`hidden_by_admin`).\n- **Type:** `boolean`\n- **Required:** required\n- **Example:** `false`\n- **Validation rules:** `required|boolean`\n- `required` — must be provided.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Provider hides her approved package\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Visibility is not a boolean\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17208-eea0-707b-b3fc-0cd4bb8b4dc3\",\n        \"name\": \"Sample-wfzy87479744\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-ee94-72c8-bb4b-bb6c8b727e57\",\n            \"name\": \"Sample-bttr22053579\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": false,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"discount_percent\": 25,\n        \"net_amount\": null,\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"can_edit\": true,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": true,\n        \"can_archive\": true,\n        \"submitted_at\": null,\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-eea1-715f-9f2d-c6b73a6c4145\",\n                \"service\": {\n                    \"id\": \"01a17208-ee97-73c3-9577-e5afa923e191\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            },\n            {\n                \"id\": \"01a17208-eea2-7363-bf62-fca82e81ec74\",\n                \"service\": {\n                    \"id\": \"01a17208-ee9a-729d-8be2-cafa93116f50\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"is_visible\": false\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider hides her approved package",
                                            "_joshen": {
                                                "route": "provider.packages.visibility",
                                                "name": "Provider hides her approved package",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/01a17208-eea0-707b-b3fc-0cd4bb8b4dc3/visibility",
                                                    "query": null,
                                                    "body": {
                                                        "is_visible": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_visibility_toggle_and_archive"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/01a17208-eea0-707b-b3fc-0cd4bb8b4dc3/visibility",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "01a17208-eea0-707b-b3fc-0cd4bb8b4dc3",
                                                        "visibility"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_visible\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17208-eea0-707b-b3fc-0cd4bb8b4dc3\",\n        \"name\": \"Sample-wfzy87479744\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-ee94-72c8-bb4b-bb6c8b727e57\",\n            \"name\": \"Sample-bttr22053579\"\n        },\n        \"status\": {\n            \"value\": \"approved\",\n            \"label\": \"Published\"\n        },\n        \"is_visible\": false,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"discount_percent\": 25,\n        \"net_amount\": null,\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"can_edit\": true,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": true,\n        \"can_archive\": true,\n        \"submitted_at\": null,\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-eea1-715f-9f2d-c6b73a6c4145\",\n                \"service\": {\n                    \"id\": \"01a17208-ee97-73c3-9577-e5afa923e191\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            },\n            {\n                \"id\": \"01a17208-eea2-7363-bf62-fca82e81ec74\",\n                \"service\": {\n                    \"id\": \"01a17208-ee9a-729d-8be2-cafa93116f50\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package/visibility",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package",
                                                        "visibility"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_visible\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package/visibility",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package",
                                                        "visibility"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_visible\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Visibility is not a boolean",
                                            "_joshen": {
                                                "route": "provider.packages.visibility",
                                                "name": "Visibility is not a boolean",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/01a17208-eea0-707b-b3fc-0cd4bb8b4dc3/visibility",
                                                    "query": null,
                                                    "body": {
                                                        "is_visible": "maybe"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_visibility_toggle_and_archive"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/01a17208-eea0-707b-b3fc-0cd4bb8b4dc3/visibility",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "01a17208-eea0-707b-b3fc-0cd4bb8b4dc3",
                                                        "visibility"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_visible\": \"maybe\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The is visible field must be true or false.\",\n    \"data\": {\n        \"errors\": {\n            \"is_visible\": [\n                \"The is visible field must be true or false.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Archive",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"package_id\",\"Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/packages/:package/archive",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "packages",
                                                ":package",
                                                "archive"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "package",
                                                    "value": "{{package_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.packages.archive`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{package_id}}` — Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Package archived\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17208-eea0-707b-b3fc-0cd4bb8b4dc3\",\n        \"name\": \"Sample-wfzy87479744\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-ee94-72c8-bb4b-bb6c8b727e57\",\n            \"name\": \"Sample-bttr22053579\"\n        },\n        \"status\": {\n            \"value\": \"archived\",\n            \"label\": \"Archived\"\n        },\n        \"is_visible\": false,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"discount_percent\": 25,\n        \"net_amount\": null,\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"can_edit\": false,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": false,\n        \"can_archive\": false,\n        \"submitted_at\": null,\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-eea1-715f-9f2d-c6b73a6c4145\",\n                \"service\": {\n                    \"id\": \"01a17208-ee97-73c3-9577-e5afa923e191\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            },\n            {\n                \"id\": \"01a17208-eea2-7363-bf62-fca82e81ec74\",\n                \"service\": {\n                    \"id\": \"01a17208-ee9a-729d-8be2-cafa93116f50\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Package archived",
                                            "_joshen": {
                                                "route": "provider.packages.archive",
                                                "name": "Package archived",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/packages/01a17208-eea0-707b-b3fc-0cd4bb8b4dc3/archive",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\PackageTest::test_ac_prov_011_visibility_toggle_and_archive"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/01a17208-eea0-707b-b3fc-0cd4bb8b4dc3/archive",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        "01a17208-eea0-707b-b3fc-0cd4bb8b4dc3",
                                                        "archive"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a17208-eea0-707b-b3fc-0cd4bb8b4dc3\",\n        \"name\": \"Sample-wfzy87479744\",\n        \"image\": \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\",\n        \"category\": {\n            \"id\": \"01a17208-ee94-72c8-bb4b-bb6c8b727e57\",\n            \"name\": \"Sample-bttr22053579\"\n        },\n        \"status\": {\n            \"value\": \"archived\",\n            \"label\": \"Archived\"\n        },\n        \"is_visible\": false,\n        \"hidden_by_admin\": false,\n        \"price\": \"300.00\",\n        \"compare_at_price\": \"400.00\",\n        \"discount_percent\": 25,\n        \"net_amount\": null,\n        \"validity_days\": 30,\n        \"services_count\": 2,\n        \"sessions_count\": 2,\n        \"review_note\": null,\n        \"can_edit\": false,\n        \"can_submit\": false,\n        \"can_toggle_visibility\": false,\n        \"can_archive\": false,\n        \"submitted_at\": null,\n        \"created_at\": \"2026-10-25T07:49:10+00:00\",\n        \"description\": null,\n        \"services\": [\n            {\n                \"id\": \"01a17208-eea1-715f-9f2d-c6b73a6c4145\",\n                \"service\": {\n                    \"id\": \"01a17208-ee97-73c3-9577-e5afa923e191\",\n                    \"name\": \"Makeup\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            },\n            {\n                \"id\": \"01a17208-eea2-7363-bf62-fca82e81ec74\",\n                \"service\": {\n                    \"id\": \"01a17208-ee9a-729d-8be2-cafa93116f50\",\n                    \"name\": \"Hair\"\n                },\n                \"sessions\": 1,\n                \"duration_min\": 60\n            }\n        ],\n        \"occasions\": [],\n        \"commission\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package/archive",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package",
                                                        "archive"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package/archive",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package",
                                                        "archive"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/packages/:package/archive",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "packages",
                                                        ":package",
                                                        "archive"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "package",
                                                            "value": "{{package_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "package_id",
                                                "set_by": [
                                                    "admin.packages.index",
                                                    "admin.packages.show",
                                                    "client.packages.show",
                                                    "provider.packages.index",
                                                    "provider.packages.store",
                                                    "provider.packages.show",
                                                    "provider.packages.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/packages, GET /api/v1/admin/packages/{package}, GET /api/v1/client/packages/{package}, GET /api/v1/provider/packages, POST /api/v1/provider/packages, GET /api/v1/provider/packages/{package}, PUT /api/v1/provider/packages/{package}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Featured",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/featured/plans?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "featured",
                                                "plans"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.featured-plans.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Enabled plans with VAT\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Pending provider cannot see plans — `error_code: ACCOUNT_INACTIVE`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1a71a-f750-7077-b9ad-d689ed2d3d4d\",\n            \"name\": \"Silver\",\n            \"description\": null,\n            \"features\": [\n                \"Verified badge\"\n            ],\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"duration_days\": 30,\n            \"price\": \"149.00\",\n            \"vat_rate\": \"15.00\",\n            \"vat_amount\": \"22.35\",\n            \"total_amount\": \"171.35\",\n            \"priority_level\": 1,\n            \"grants_verified_badge\": true,\n            \"grants_featured_badge\": false,\n            \"features_packages_on_home\": false,\n            \"is_current\": false,\n            \"can_subscribe\": true\n        },\n        {\n            \"id\": \"01a1a71a-f753-7280-b78f-7e7d2adc6d47\",\n            \"name\": \"Plan 0114\",\n            \"description\": null,\n            \"features\": [\n                \"Verified badge\"\n            ],\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"duration_days\": 30,\n            \"price\": \"299.00\",\n            \"vat_rate\": \"15.00\",\n            \"vat_amount\": \"44.85\",\n            \"total_amount\": \"343.85\",\n            \"priority_level\": 2,\n            \"grants_verified_badge\": true,\n            \"grants_featured_badge\": true,\n            \"features_packages_on_home\": false,\n            \"is_current\": false,\n            \"can_subscribe\": true\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Enabled plans with VAT",
                                            "_joshen": {
                                                "route": "provider.featured-plans.index",
                                                "name": "Enabled plans with VAT",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/plans",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_plans_list_shows_only_enabled_plans_with_vat_in_display_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "plans"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"id\": \"01a1a71a-f750-7077-b9ad-d689ed2d3d4d\",\n            \"name\": \"Silver\",\n            \"description\": null,\n            \"features\": [\n                \"Verified badge\"\n            ],\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"duration_days\": 30,\n            \"price\": \"149.00\",\n            \"vat_rate\": \"15.00\",\n            \"vat_amount\": \"22.35\",\n            \"total_amount\": \"171.35\",\n            \"priority_level\": 1,\n            \"grants_verified_badge\": true,\n            \"grants_featured_badge\": false,\n            \"features_packages_on_home\": false,\n            \"is_current\": false,\n            \"can_subscribe\": true\n        },\n        {\n            \"id\": \"01a1a71a-f753-7280-b78f-7e7d2adc6d47\",\n            \"name\": \"Plan 0114\",\n            \"description\": null,\n            \"features\": [\n                \"Verified badge\"\n            ],\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"duration_days\": 30,\n            \"price\": \"299.00\",\n            \"vat_rate\": \"15.00\",\n            \"vat_amount\": \"44.85\",\n            \"total_amount\": \"343.85\",\n            \"priority_level\": 2,\n            \"grants_verified_badge\": true,\n            \"grants_featured_badge\": true,\n            \"features_packages_on_home\": false,\n            \"is_current\": false,\n            \"can_subscribe\": true\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/plans?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "plans"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Pending provider cannot see plans",
                                            "_joshen": {
                                                "route": "provider.featured-plans.index",
                                                "name": "Pending provider cannot see plans",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/plans",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_only_approved_providers_reach_the_featured_endpoints"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/plans",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "plans"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Your account must be approved before you can use this feature.\",\n    \"data\": {\n        \"error_code\": \"ACCOUNT_INACTIVE\",\n        \"correlation_id\": \"37f6eb19-f5ba-4a5a-b241-c7cb3b754ed8\",\n        \"account_status\": \"pending_review\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/plans?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "plans"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/featured/payment-methods?page=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "featured",
                                                "payment-methods"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Items per page (max: 100)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "search",
                                                    "value": "",
                                                    "description": "Search term (searches across searchable fields)",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "sort[created_at]",
                                                    "value": "desc",
                                                    "description": "Sort by field: asc or desc",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginate",
                                                    "value": "false",
                                                    "description": "Set to false to disable pagination",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[is_active]",
                                                    "value": "1",
                                                    "description": "Filter by active status: 1 or 0",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.featured-payment-methods.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number (required)\n- `per_page` — Items per page (max: 100) (optional)\n- `search` — Search term (searches across searchable fields) (optional)\n- `sort[created_at]` — Sort by field: asc or desc (optional)\n- `paginate` — Set to false to disable pagination (optional)\n- `filters[is_active]` — Filter by active status: 1 or 0 (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Saved cards and generic methods\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"type\": \"saved_card\",\n            \"method\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"saved_card_id\": \"01a1a71a-f77d-73a7-8aa1-fafed386d9f7\",\n            \"brand\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"last4\": \"4431\",\n            \"is_default\": true\n        },\n        {\n            \"type\": \"saved_card\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"saved_card_id\": \"01a1a71a-f77f-7307-a16d-c261a3a53626\",\n            \"brand\": {\n                \"value\": \"visa\",\n                \"label\": \"Visa\"\n            },\n            \"last4\": \"4242\",\n            \"is_default\": false\n        },\n        {\n            \"type\": \"card\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"saved_card_id\": null,\n            \"brand\": null,\n            \"last4\": null,\n            \"is_default\": false\n        },\n        {\n            \"type\": \"apple_pay\",\n            \"method\": {\n                \"value\": \"apple_pay\",\n                \"label\": \"Apple Pay\"\n            },\n            \"saved_card_id\": null,\n            \"brand\": null,\n            \"last4\": null,\n            \"is_default\": false\n        },\n        {\n            \"type\": \"earnings_deduction\",\n            \"method\": {\n                \"value\": \"earnings_deduction\",\n                \"label\": \"Deduct from earnings\"\n            },\n            \"saved_card_id\": null,\n            \"brand\": null,\n            \"last4\": null,\n            \"is_default\": false\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Saved cards and generic methods",
                                            "_joshen": {
                                                "route": "provider.featured-payment-methods.index",
                                                "name": "Saved cards and generic methods",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/payment-methods",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_payment_methods_list_her_saved_cards_then_generic_methods"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/payment-methods",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "payment-methods"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": [\n        {\n            \"type\": \"saved_card\",\n            \"method\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"saved_card_id\": \"01a1a71a-f77d-73a7-8aa1-fafed386d9f7\",\n            \"brand\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"last4\": \"4431\",\n            \"is_default\": true\n        },\n        {\n            \"type\": \"saved_card\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"saved_card_id\": \"01a1a71a-f77f-7307-a16d-c261a3a53626\",\n            \"brand\": {\n                \"value\": \"visa\",\n                \"label\": \"Visa\"\n            },\n            \"last4\": \"4242\",\n            \"is_default\": false\n        },\n        {\n            \"type\": \"card\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"saved_card_id\": null,\n            \"brand\": null,\n            \"last4\": null,\n            \"is_default\": false\n        },\n        {\n            \"type\": \"apple_pay\",\n            \"method\": {\n                \"value\": \"apple_pay\",\n                \"label\": \"Apple Pay\"\n            },\n            \"saved_card_id\": null,\n            \"brand\": null,\n            \"last4\": null,\n            \"is_default\": false\n        },\n        {\n            \"type\": \"earnings_deduction\",\n            \"method\": {\n                \"value\": \"earnings_deduction\",\n                \"label\": \"Deduct from earnings\"\n            },\n            \"saved_card_id\": null,\n            \"brand\": null,\n            \"last4\": null,\n            \"is_default\": false\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/payment-methods?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "payment-methods"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/payment-methods?page=1",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "payment-methods"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number",
                                                            "disabled": false
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Items per page (max: 100)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "search",
                                                            "value": "",
                                                            "description": "Search term (searches across searchable fields)",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "sort[created_at]",
                                                            "value": "desc",
                                                            "description": "Sort by field: asc or desc",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "paginate",
                                                            "value": "false",
                                                            "description": "Set to false to disable pagination",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[is_active]",
                                                            "value": "1",
                                                            "description": "Filter by active status: 1 or 0",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "featured",
                                                "subscription"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.featured-subscription.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Current subscription\n- `200` Expired subscription\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a71a-f844-713b-89c5-47938a49c337\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-f831-738f-8c36-b1d0b33c6304\",\n            \"name\": \"Plan 6092\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": true,\n        \"starts_at\": \"2026-11-04T15:08:45+00:00\",\n        \"ends_at\": \"2026-12-04T15:08:45+00:00\",\n        \"days_remaining\": 30,\n        \"is_active\": true,\n        \"can_retry\": false,\n        \"can_subscribe\": false,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-f86b-71ec-b42c-dcf91362afeb\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-04T15:08:45+00:00\"\n        },\n        \"created_at\": \"2026-11-04T15:08:44+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Current subscription",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.show",
                                                "name": "Current subscription",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_failed_payment_activates_nothing_and_retry_reuses_the_attempt"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a71a-f844-713b-89c5-47938a49c337\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-f831-738f-8c36-b1d0b33c6304\",\n            \"name\": \"Plan 6092\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": true,\n        \"starts_at\": \"2026-11-04T15:08:45+00:00\",\n        \"ends_at\": \"2026-12-04T15:08:45+00:00\",\n        \"days_remaining\": 30,\n        \"is_active\": true,\n        \"can_retry\": false,\n        \"can_subscribe\": false,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-f86b-71ec-b42c-dcf91362afeb\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-04T15:08:45+00:00\"\n        },\n        \"created_at\": \"2026-11-04T15:08:44+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Expired subscription",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.show",
                                                "name": "Expired subscription",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_expiry_removes_priority_and_she_can_subscribe_again"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a71a-fbbd-72ed-ac70-9fbd6d315ab7\",\n        \"status\": {\n            \"value\": \"expired\",\n            \"label\": \"Expired\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-fba8-7192-bb5c-70efd1a7edee\",\n            \"name\": \"Plan 2285\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": true,\n        \"starts_at\": \"2026-10-04T15:08:45+00:00\",\n        \"ends_at\": \"2026-11-04T15:07:45+00:00\",\n        \"days_remaining\": null,\n        \"is_active\": false,\n        \"can_retry\": false,\n        \"can_subscribe\": true,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-fbbf-7384-83c4-afaa30dce61e\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-04T15:08:45+00:00\"\n        },\n        \"created_at\": \"2026-11-04T15:08:45+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"],[\"featured_plan_id\",\"Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "featured",
                                                "subscription"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.featured-subscription.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `plan_id`\n- **Description:** Featured plan (`featured_plans`) from `GET /featured/plans`. Must be enabled by Joshen (ADMIN-005).\n- **Type:** `string (uuid)`\n- **Refers to:** a `featured_plans` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{featured_plan_id}}`\n- **Validation rules:** `required|uuid|exists:featured_plans,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:featured_plans,uuid` — must reference an existing record (featured_plans, uuid).\n### `method`\n- **Description:** How she pays: `card`, `mada`, `apple_pay`, or `earnings_deduction` (deducted from her next payout). Wallet and Tabby do not apply to providers (DEC-12).\n- **Type:** `string (enum)`\n- **Allowed values:** `card`, `mada`, `apple_pay`, `earnings_deduction`\n- **Required:** required\n- **Example:** `mada`\n- **Validation rules:** `required|in:\"card\",\"mada\",\"apple_pay\",\"earnings_deduction\"`\n- `required` — must be provided.\n- `in:\"card\",\"mada\",\"apple_pay\",\"earnings_deduction\"` — must be one of: \"card\", \"mada\", \"apple_pay\", \"earnings_deduction\".\n### `saved_card_id`\n- **Description:** One of her saved cards (`saved_cards`) from `GET /featured/payment-methods`. Only with `card` or `mada`.\n- **Type:** `string (uuid)`\n- **Refers to:** a `saved_cards` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `sometimes|nullable|prohibited_unless:method,card,mada|uuid|exists:saved_cards,uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `prohibited_unless:method,card,mada` — custom validation rule.\n- `uuid` — must be a uuid.\n- `exists:saved_cards,uuid` — must reference an existing record (saved_cards, uuid).\n### `auto_renew`\n- **Description:** Whether the plan should renew automatically when it ends; defaults to `true` (SCR-34). Automatic charging is not switched on until the production gateway exists (TD-98).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `simulate_failure`\n- **Description:** Non-production: make this payment attempt fail for QA (TD-94).\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `false`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Uses `{{featured_plan_id}}` — Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}.\n\n**Responses:**\n- `200` Payment failed, nothing activated\n- `201` Paid by deduction from earnings\n- `201` Paid with a saved mada card\n- `201` Retry after a failed payment\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Saved card belongs to someone else — `error_code: ENTITY_NOT_FOUND`\n- `409` Already subscribed — `error_code: FEATURED_SUBSCRIPTION_ACTIVE`\n- `422` Gateway method while the simulator is off (production behaviour) — `error_code: PAYMENT_GATEWAY_UNAVAILABLE`\n- `422` Payment method disabled — `error_code: PAYMENT_METHOD_DISABLED`\n- `422` Plan and method missing\n- `422` Plan disabled by Joshen — `error_code: FEATURED_PLAN_UNAVAILABLE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"The payment failed, so the plan was not activated. You can try again.\",\n    \"data\": {\n        \"id\": \"01a1a71a-f844-713b-89c5-47938a49c337\",\n        \"status\": {\n            \"value\": \"payment_failed\",\n            \"label\": \"Payment failed\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-f831-738f-8c36-b1d0b33c6304\",\n            \"name\": \"Plan 6092\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": true,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"days_remaining\": null,\n        \"is_active\": false,\n        \"can_retry\": true,\n        \"can_subscribe\": true,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-f846-715f-b8ac-1a2fa647965d\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"failed\",\n                \"label\": \"Failed\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": \"Simulated payment failure\",\n            \"paid_at\": null\n        },\n        \"created_at\": \"2026-11-04T15:08:44+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"plan_id\": \"{{featured_plan_id}}\",\n    \"method\": \"mada\",\n    \"saved_card_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"auto_renew\": true,\n    \"simulate_failure\": false\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Payment failed, nothing activated",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Payment failed, nothing activated",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-f831-738f-8c36-b1d0b33c6304",
                                                        "method": "card",
                                                        "simulate_failure": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_failed_payment_activates_nothing_and_retry_reuses_the_attempt"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-f831-738f-8c36-b1d0b33c6304\",\n    \"method\": \"card\",\n    \"simulate_failure\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"The payment failed, so the plan was not activated. You can try again.\",\n    \"data\": {\n        \"id\": \"01a1a71a-f844-713b-89c5-47938a49c337\",\n        \"status\": {\n            \"value\": \"payment_failed\",\n            \"label\": \"Payment failed\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-f831-738f-8c36-b1d0b33c6304\",\n            \"name\": \"Plan 6092\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": true,\n        \"starts_at\": null,\n        \"ends_at\": null,\n        \"days_remaining\": null,\n        \"is_active\": false,\n        \"can_retry\": true,\n        \"can_subscribe\": true,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-f846-715f-b8ac-1a2fa647965d\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"failed\",\n                \"label\": \"Failed\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": \"Simulated payment failure\",\n            \"paid_at\": null\n        },\n        \"created_at\": \"2026-11-04T15:08:44+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Paid by deduction from earnings",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Paid by deduction from earnings",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-f8ba-71d1-bc6e-44f44b77d6fc",
                                                        "method": "earnings_deduction",
                                                        "auto_renew": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_paying_from_earnings_records_a_negative_amount_due"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-f8ba-71d1-bc6e-44f44b77d6fc\",\n    \"method\": \"earnings_deduction\",\n    \"auto_renew\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your featured plan is active.\",\n    \"data\": {\n        \"id\": \"01a1a71a-f8cc-73ae-a5ab-6aaeabc0a4cd\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-f8ba-71d1-bc6e-44f44b77d6fc\",\n            \"name\": \"Plan 4126\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": false,\n        \"starts_at\": \"2026-11-04T15:08:45+00:00\",\n        \"ends_at\": \"2026-12-04T15:08:45+00:00\",\n        \"days_remaining\": 30,\n        \"is_active\": true,\n        \"can_retry\": false,\n        \"can_subscribe\": false,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-f8cd-7322-b5e3-b20f7ede45e5\",\n            \"method\": {\n                \"value\": \"earnings_deduction\",\n                \"label\": \"Deduct from earnings\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-04T15:08:45+00:00\"\n        },\n        \"created_at\": \"2026-11-04T15:08:45+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Paid with a saved mada card",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Paid with a saved mada card",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-f7a5-7286-af24-99faf69005ee",
                                                        "method": "mada",
                                                        "saved_card_id": "01a1a71a-f7a8-73f9-988d-d7dea40b4d3b"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_successful_payment_activates_dated_priority"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-f7a5-7286-af24-99faf69005ee\",\n    \"method\": \"mada\",\n    \"saved_card_id\": \"01a1a71a-f7a8-73f9-988d-d7dea40b4d3b\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your featured plan is active.\",\n    \"data\": {\n        \"id\": \"01a1a71a-f7ba-72b4-8ddc-85ad7fdf4331\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-f7a5-7286-af24-99faf69005ee\",\n            \"name\": \"Plan 7288\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 2\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": true,\n        \"starts_at\": \"2026-11-04T15:08:44+00:00\",\n        \"ends_at\": \"2026-12-04T15:08:44+00:00\",\n        \"days_remaining\": 30,\n        \"is_active\": true,\n        \"can_retry\": false,\n        \"can_subscribe\": false,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-f7bb-73b3-bde1-8b830a604146\",\n            \"method\": {\n                \"value\": \"mada\",\n                \"label\": \"mada\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-04T15:08:44+00:00\"\n        },\n        \"created_at\": \"2026-11-04T15:08:44+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "201 Retry after a failed payment",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Retry after a failed payment",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-f831-738f-8c36-b1d0b33c6304",
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_failed_payment_activates_nothing_and_retry_reuses_the_attempt"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-f831-738f-8c36-b1d0b33c6304\",\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your featured plan is active.\",\n    \"data\": {\n        \"id\": \"01a1a71a-f844-713b-89c5-47938a49c337\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-f831-738f-8c36-b1d0b33c6304\",\n            \"name\": \"Plan 6092\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": true,\n        \"starts_at\": \"2026-11-04T15:08:45+00:00\",\n        \"ends_at\": \"2026-12-04T15:08:45+00:00\",\n        \"days_remaining\": 30,\n        \"is_active\": true,\n        \"can_retry\": false,\n        \"can_subscribe\": false,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-f86b-71ec-b42c-dcf91362afeb\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-04T15:08:45+00:00\"\n        },\n        \"created_at\": \"2026-11-04T15:08:44+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"{{featured_plan_id}}\",\n    \"method\": \"mada\",\n    \"saved_card_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"auto_renew\": true,\n    \"simulate_failure\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"{{featured_plan_id}}\",\n    \"method\": \"mada\",\n    \"saved_card_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"auto_renew\": true,\n    \"simulate_failure\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Saved card belongs to someone else",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Saved card belongs to someone else",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-fae6-7300-828a-dac86fe80422",
                                                        "method": "card",
                                                        "saved_card_id": "01a1a71a-faec-72a9-b3a6-23dc7d5b3c84"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_request_shape_and_card_ownership_are_validated"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-fae6-7300-828a-dac86fe80422\",\n    \"method\": \"card\",\n    \"saved_card_id\": \"01a1a71a-faec-72a9-b3a6-23dc7d5b3c84\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This saved card was not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"c3767506-b596-41f8-856c-f13b64a5e890\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Already subscribed",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Already subscribed",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-f90d-72ae-b0ae-7232c9cbb13c",
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_one_active_subscription_and_a_disabled_plan_cannot_be_bought"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-f90d-72ae-b0ae-7232c9cbb13c\",\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You already have an active featured subscription. You can subscribe again after it ends.\",\n    \"data\": {\n        \"error_code\": \"FEATURED_SUBSCRIPTION_ACTIVE\",\n        \"correlation_id\": \"908022c1-f9d4-429f-b7e4-80279b8bb085\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Gateway method while the simulator is off (production behaviour)",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Gateway method while the simulator is off (production behaviour)",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-f801-71b6-94a0-e6bf517040fe",
                                                        "method": "apple_pay"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_gateway_methods_are_unavailable_when_the_simulator_is_off_but_deduction_works"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-f801-71b6-94a0-e6bf517040fe\",\n    \"method\": \"apple_pay\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Payment is temporarily unavailable.\",\n    \"data\": {\n        \"error_code\": \"PAYMENT_GATEWAY_UNAVAILABLE\",\n        \"correlation_id\": \"322dd508-8a49-4c08-928e-a00ed9a174ab\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Payment method disabled",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Payment method disabled",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-f713-7044-97bd-812b1d47b1f7",
                                                        "method": "apple_pay"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_admin_025_disabled_apple_pay_is_hidden_and_refused_for_providers"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-f713-7044-97bd-812b1d47b1f7\",\n    \"method\": \"apple_pay\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This payment method is currently unavailable.\",\n    \"data\": {\n        \"error_code\": \"PAYMENT_METHOD_DISABLED\",\n        \"correlation_id\": \"d6142537-82c2-4db8-950d-a8b9f8488407\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Plan and method missing",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Plan and method missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_request_shape_and_card_ownership_are_validated"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The plan id field is required. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"plan_id\": [\n                \"The plan id field is required.\"\n            ],\n            \"method\": [\n                \"The method field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Plan disabled by Joshen",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.store",
                                                "name": "Plan disabled by Joshen",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription",
                                                    "query": null,
                                                    "body": {
                                                        "plan_id": "01a1a71a-f920-712d-bdb5-0b9ebf04e02b",
                                                        "method": "card"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_one_active_subscription_and_a_disabled_plan_cannot_be_bought"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"plan_id\": \"01a1a71a-f920-712d-bdb5-0b9ebf04e02b\",\n    \"method\": \"card\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This plan is not available right now.\",\n    \"data\": {\n        \"error_code\": \"FEATURED_PLAN_UNAVAILABLE\",\n        \"correlation_id\": \"f0c13c1c-86fd-4a2a-babe-4cdb28169196\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            },
                                            {
                                                "name": "featured_plan_id",
                                                "set_by": [
                                                    "admin.featured-plans.index",
                                                    "admin.featured-plans.store",
                                                    "admin.featured-plans.show",
                                                    "admin.featured-plans.update"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/featured-plans, POST /api/v1/admin/featured-plans, GET /api/v1/admin/featured-plans/{featured_plan}, PUT /api/v1/admin/featured-plans/{featured_plan}."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Auto Renew",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/featured/subscription/auto-renew",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "featured",
                                                "subscription",
                                                "auto-renew"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.featured-subscription.auto-renew`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `auto_renew`\n- **Description:** Desired renewal setting for her current subscription. Stopping it never ends the current period: priority runs until `ends_at`.\n- **Type:** `boolean`\n- **Required:** required\n- **Example:** `false`\n- **Validation rules:** `required|boolean`\n- `required` — must be provided.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n\n**Responses:**\n- `200` Automatic renewal stopped\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` No running subscription — `error_code: ENTITY_NOT_FOUND`\n- `422` Renewal flag missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1a71a-fb64-7094-9076-3529a5b98013\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-fb51-72c1-82e2-3b6830d62cd7\",\n            \"name\": \"Plan 0686\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": false,\n        \"starts_at\": \"2026-11-04T15:08:45+00:00\",\n        \"ends_at\": \"2026-12-04T15:08:45+00:00\",\n        \"days_remaining\": 30,\n        \"is_active\": true,\n        \"can_retry\": false,\n        \"can_subscribe\": false,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-fb65-702b-96dc-bc7497edb9ab\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-04T15:08:45+00:00\"\n        },\n        \"created_at\": \"2026-11-04T15:08:45+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"auto_renew\": false\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Automatic renewal stopped",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.auto-renew",
                                                "name": "Automatic renewal stopped",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription/auto-renew",
                                                    "query": null,
                                                    "body": {
                                                        "auto_renew": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_auto_renew_can_be_switched_only_on_a_running_subscription"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription/auto-renew",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription",
                                                        "auto-renew"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"auto_renew\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1a71a-fb64-7094-9076-3529a5b98013\",\n        \"status\": {\n            \"value\": \"active\",\n            \"label\": \"Active\"\n        },\n        \"plan\": {\n            \"id\": \"01a1a71a-fb51-72c1-82e2-3b6830d62cd7\",\n            \"name\": \"Plan 0686\",\n            \"billing_period\": {\n                \"value\": \"monthly\",\n                \"label\": \"Monthly\"\n            },\n            \"priority_level\": 1\n        },\n        \"price\": \"299.00\",\n        \"vat_amount\": \"44.85\",\n        \"total_amount\": \"343.85\",\n        \"auto_renew\": false,\n        \"starts_at\": \"2026-11-04T15:08:45+00:00\",\n        \"ends_at\": \"2026-12-04T15:08:45+00:00\",\n        \"days_remaining\": 30,\n        \"is_active\": true,\n        \"can_retry\": false,\n        \"can_subscribe\": false,\n        \"last_payment\": {\n            \"id\": \"01a1a71a-fb65-702b-96dc-bc7497edb9ab\",\n            \"method\": {\n                \"value\": \"card\",\n                \"label\": \"Bank card\"\n            },\n            \"status\": {\n                \"value\": \"paid\",\n                \"label\": \"Paid\"\n            },\n            \"amount\": \"343.85\",\n            \"failure_reason\": null,\n            \"paid_at\": \"2026-11-04T15:08:45+00:00\"\n        },\n        \"created_at\": \"2026-11-04T15:08:45+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription/auto-renew",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription",
                                                        "auto-renew"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"auto_renew\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription/auto-renew",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription",
                                                        "auto-renew"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"auto_renew\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 No running subscription",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.auto-renew",
                                                "name": "No running subscription",
                                                "code": 404,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription/auto-renew",
                                                    "query": null,
                                                    "body": {
                                                        "auto_renew": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_auto_renew_can_be_switched_only_on_a_running_subscription"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription/auto-renew",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription",
                                                        "auto-renew"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"auto_renew\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You have no active featured subscription.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"1595625e-405e-46d7-970b-e5a9ab362af0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Renewal flag missing",
                                            "_joshen": {
                                                "route": "provider.featured-subscription.auto-renew",
                                                "name": "Renewal flag missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/subscription/auto-renew",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedSubscriptionTest::test_ac_prov_007_auto_renew_can_be_switched_only_on_a_running_subscription"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/subscription/auto-renew",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "subscription",
                                                        "auto-renew"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The auto renew field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"auto_renew\": [\n                \"The auto renew field is required.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"invoice_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/featured/invoices",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "featured",
                                                "invoices"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Target page number (1-based). — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Page size between 1 and 100. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.featured-invoices.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Target page number (1-based). — `integer` (optional)\n- `per_page` — Page size between 1 and 100. — `integer` (optional)\n\n**Variables:**\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `invoice_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Provider subscription invoices list\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid featured invoice list pagination\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"invoices\": [\n            {\n                \"id\": \"01a1a5ba-3a70-726c-8ba9-557638de90eb\",\n                \"invoice_no\": \"INV-100012\",\n                \"order_id\": null,\n                \"subscription_id\": \"01a1a5ba-3a6a-701b-9a9a-efc92f87a328\",\n                \"subtotal\": \"100.00\",\n                \"delivery_fee\": \"0.00\",\n                \"discount\": \"0.00\",\n                \"vat_amount\": \"15.00\",\n                \"total\": \"115.00\",\n                \"seller\": null,\n                \"payment_method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"order_code\": null,\n                \"items\": null,\n                \"plan_name\": \"Plan 2138\",\n                \"zatca_uuid\": null,\n                \"qr_payload\": null,\n                \"issued_at\": \"2026-11-04T08:43:27+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/featured/invoices?page=1\",\n            \"last\": \"http://localhost/api/v1/provider/featured/invoices?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/featured/invoices?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/featured/invoices\",\n            \"per_page\": 10,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider subscription invoices list",
                                            "_joshen": {
                                                "route": "provider.featured-invoices.index",
                                                "name": "Provider subscription invoices list",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/invoices",
                                                    "query": {
                                                        "per_page": 10
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedInvoiceTest::test_ac_prov_007_provider_can_list_her_subscription_invoices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/invoices?per_page=10",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "invoices"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "10"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"invoices\": [\n            {\n                \"id\": \"01a1a5ba-3a70-726c-8ba9-557638de90eb\",\n                \"invoice_no\": \"INV-100012\",\n                \"order_id\": null,\n                \"subscription_id\": \"01a1a5ba-3a6a-701b-9a9a-efc92f87a328\",\n                \"subtotal\": \"100.00\",\n                \"delivery_fee\": \"0.00\",\n                \"discount\": \"0.00\",\n                \"vat_amount\": \"15.00\",\n                \"total\": \"115.00\",\n                \"seller\": null,\n                \"payment_method\": {\n                    \"value\": \"card\",\n                    \"label\": \"Bank card\"\n                },\n                \"order_code\": null,\n                \"items\": null,\n                \"plan_name\": \"Plan 2138\",\n                \"zatca_uuid\": null,\n                \"qr_payload\": null,\n                \"issued_at\": \"2026-11-04T08:43:27+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/provider/featured/invoices?page=1\",\n            \"last\": \"http://localhost/api/v1/provider/featured/invoices?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/provider/featured/invoices?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/provider/featured/invoices\",\n            \"per_page\": 10,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/invoices",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "invoices"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Target page number (1-based). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Page size between 1 and 100. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/invoices",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "invoices"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Target page number (1-based). — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Page size between 1 and 100. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid featured invoice list pagination",
                                            "_joshen": {
                                                "route": "provider.featured-invoices.index",
                                                "name": "Invalid featured invoice list pagination",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/invoices",
                                                    "query": {
                                                        "per_page": "999"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedInvoiceTest::test_ac_prov_007_provider_can_list_her_subscription_invoices"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/invoices?per_page=999",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "invoices"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "per_page",
                                                            "value": "999"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The per page field must be between 1 and 100.\",\n    \"data\": {\n        \"errors\": {\n            \"per_page\": [\n                \"The per page field must be between 1 and 100.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "invoice_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"invoice_id\",\"Saved by GET /api/v1/client/invoices, GET /api/v1/provider/featured/invoices, GET /api/v1/provider/featured/invoices/{invoice}.\"],[\"provider_token\",\"Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"invoice_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{provider_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/provider/featured/invoices/:invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "provider",
                                                "featured",
                                                "invoices",
                                                ":invoice"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "invoice",
                                                    "value": "{{invoice_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/invoices, GET /api/v1/provider/featured/invoices, GET /api/v1/provider/featured/invoices/{invoice}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `provider.featured-invoices.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:provider, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{invoice_id}}` — Saved by GET /api/v1/client/invoices, GET /api/v1/provider/featured/invoices, GET /api/v1/provider/featured/invoices/{invoice}.\n- Uses `{{provider_token}}` — Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh.\n- Saves `invoice_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Provider subscription invoice details\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Subscription invoice not found — `error_code: INVOICE_NOT_FOUND`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a5ba-3ac1-70b0-a9b2-2c6c57929431\",\n        \"invoice_no\": \"INV-100013\",\n        \"order_id\": null,\n        \"subscription_id\": \"01a1a5ba-3abc-725f-b144-4dcfdd643547\",\n        \"subtotal\": \"100.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount\": \"0.00\",\n        \"vat_amount\": \"15.00\",\n        \"total\": \"115.00\",\n        \"seller\": {\n            \"name\": \"Joshen / جوشن\",\n            \"vat_number\": \"300000000000003\"\n        },\n        \"payment_method\": {\n            \"value\": \"card\",\n            \"label\": \"Bank card\"\n        },\n        \"order_code\": null,\n        \"items\": null,\n        \"plan_name\": \"Plan 8862\",\n        \"zatca_uuid\": null,\n        \"qr_payload\": \"ARFKb3NoZW4gLyDYrNmI2LTZhgIPMzAwMDAwMDAwMDAwMDAzAxkyMDI2LTExLTA0VDA4OjQzOjI3KzAwOjAwBAYxMTUuMDAFBTE1LjAw\",\n        \"issued_at\": \"2026-11-04T08:43:27+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Provider subscription invoice details",
                                            "_joshen": {
                                                "route": "provider.featured-invoices.show",
                                                "name": "Provider subscription invoice details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/invoices/01a1a5ba-3ac1-70b0-a9b2-2c6c57929431",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedInvoiceTest::test_ac_prov_007_provider_can_view_her_subscription_invoice"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/invoices/01a1a5ba-3ac1-70b0-a9b2-2c6c57929431",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "invoices",
                                                        "01a1a5ba-3ac1-70b0-a9b2-2c6c57929431"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1a5ba-3ac1-70b0-a9b2-2c6c57929431\",\n        \"invoice_no\": \"INV-100013\",\n        \"order_id\": null,\n        \"subscription_id\": \"01a1a5ba-3abc-725f-b144-4dcfdd643547\",\n        \"subtotal\": \"100.00\",\n        \"delivery_fee\": \"0.00\",\n        \"discount\": \"0.00\",\n        \"vat_amount\": \"15.00\",\n        \"total\": \"115.00\",\n        \"seller\": {\n            \"name\": \"Joshen / جوشن\",\n            \"vat_number\": \"300000000000003\"\n        },\n        \"payment_method\": {\n            \"value\": \"card\",\n            \"label\": \"Bank card\"\n        },\n        \"order_code\": null,\n        \"items\": null,\n        \"plan_name\": \"Plan 8862\",\n        \"zatca_uuid\": null,\n        \"qr_payload\": \"ARFKb3NoZW4gLyDYrNmI2LTZhgIPMzAwMDAwMDAwMDAwMDAzAxkyMDI2LTExLTA0VDA4OjQzOjI3KzAwOjAwBAYxMTUuMDAFBTE1LjAw\",\n        \"issued_at\": \"2026-11-04T08:43:27+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/invoices/:invoice",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "invoices",
                                                        ":invoice"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "invoice",
                                                            "value": "{{invoice_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/invoices, GET /api/v1/provider/featured/invoices, GET /api/v1/provider/featured/invoices/{invoice}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "provider.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "provider",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/invoices/:invoice",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "invoices",
                                                        ":invoice"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "invoice",
                                                            "value": "{{invoice_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/invoices, GET /api/v1/provider/featured/invoices, GET /api/v1/provider/featured/invoices/{invoice}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"28cc01bb-4e43-4c05-a6fd-42bf4eb9ad90\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Subscription invoice not found",
                                            "_joshen": {
                                                "route": "provider.featured-invoices.show",
                                                "name": "Subscription invoice not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/provider/featured/invoices/01a1a5ba-3b1d-73b6-874f-5e0a3fb49957",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Provider\\FeaturedInvoiceTest::test_ac_prov_007_provider_cannot_view_another_providers_invoice"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{provider_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/provider/featured/invoices/01a1a5ba-3b1d-73b6-874f-5e0a3fb49957",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "provider",
                                                        "featured",
                                                        "invoices",
                                                        "01a1a5ba-3b1d-73b6-874f-5e0a3fb49957"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Tax invoice not found.\",\n    \"data\": {\n        \"error_code\": \"INVOICE_NOT_FOUND\",\n        \"correlation_id\": \"96d45748-9660-4fbb-89f3-3d12bc1dc579\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "invoice_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "invoice_id",
                                                "set_by": [
                                                    "client.invoices.index",
                                                    "provider.featured-invoices.index",
                                                    "provider.featured-invoices.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/invoices, GET /api/v1/provider/featured/invoices, GET /api/v1/provider/featured/invoices/{invoice}."
                                            },
                                            {
                                                "name": "provider_token",
                                                "set_by": [
                                                    "provider.auth.verify",
                                                    "provider.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/provider/auth/verify, POST /api/v1/provider/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "Delivery",
            "item": [
                {
                    "name": "Content",
                    "item": [
                        {
                            "name": "Pages",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/pages/:slug",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "pages",
                                                ":slug"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "slug",
                                                    "value": "terms",
                                                    "description": "Static page key, not a uuid: `terms`, `privacy`, `female_declaration`, `cancellation_policy` or `about` (TD-175)."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.pages.show`\n**Middleware:** `api, set_locale, cors`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Responses:**\n- `200` English text\n- `200` Falls back to the shared page\n- `200` Page of the app audience\n- `404` Unknown slug — `error_code: ENTITY_NOT_FOUND`\n- `404` Valid slug without a page — `error_code: ENTITY_NOT_FOUND`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Page retrieved.\",\n    \"data\": {\n        \"id\": \"01a1bab1-5826-7104-8185-43d2fded200a\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms and conditions\"\n        },\n        \"title\": \"Title driver\",\n        \"content\": \"Body driver\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:47+00:00\"\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 English text",
                                            "_joshen": {
                                                "route": "delivery.pages.show",
                                                "name": "English text",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/pages/terms",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_follows_the_locale_and_falls_back_to_arabic"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/pages/terms",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "pages",
                                                        "terms"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Page retrieved.\",\n    \"data\": {\n        \"id\": \"01a1bab1-5826-7104-8185-43d2fded200a\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"Terms and conditions\"\n        },\n        \"title\": \"Title driver\",\n        \"content\": \"Body driver\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:47+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Falls back to the shared page",
                                            "_joshen": {
                                                "route": "delivery.pages.show",
                                                "name": "Falls back to the shared page",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/delivery/pages/privacy",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_falls_back_to_all_when_no_app_page_exists"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/pages/privacy",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "pages",
                                                        "privacy"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الصفحة.\",\n    \"data\": {\n        \"id\": \"01a1bab1-57b7-73ee-bc41-57e53c0ea2bf\",\n        \"slug\": {\n            \"value\": \"privacy\",\n            \"label\": \"سياسة الخصوصية\"\n        },\n        \"title\": \"عنوان all\",\n        \"content\": \"نص all\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:46+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "200 Page of the app audience",
                                            "_joshen": {
                                                "route": "delivery.pages.show",
                                                "name": "Page of the app audience",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/delivery/pages/terms",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_page_of_the_apps_audience_wins_over_all"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/pages/terms",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "pages",
                                                        "terms"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الصفحة.\",\n    \"data\": {\n        \"id\": \"01a1bab1-5759-7149-a459-991e2d4bc790\",\n        \"slug\": {\n            \"value\": \"terms\",\n            \"label\": \"الشروط والأحكام\"\n        },\n        \"title\": \"عنوان driver\",\n        \"content\": \"نص driver\",\n        \"version\": 3,\n        \"updated_at\": \"2026-11-08T10:25:46+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Unknown slug",
                                            "_joshen": {
                                                "route": "delivery.pages.show",
                                                "name": "Unknown slug",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/delivery/pages/not-a-page",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_unknown_slug_and_missing_page_are_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/pages/not-a-page",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "pages",
                                                        "not-a-page"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الصفحة غير موجودة.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"9ea834fe-3ec7-4d79-9111-357e8aadb946\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Valid slug without a page",
                                            "_joshen": {
                                                "route": "delivery.pages.show",
                                                "name": "Valid slug without a page",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/delivery/pages/about",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_unknown_slug_and_missing_page_are_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/pages/about",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "pages",
                                                        "about"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"الصفحة غير موجودة.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"e237365f-4a04-4f51-878a-cfa933f10f48\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": []
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Faqs",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"faq_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/faqs",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "faqs"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.faqs.index`\n**Middleware:** `api, set_locale, cors`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Saves `faq_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` FAQs of the app audience\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الأسئلة الشائعة.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab1-58f8-72e7-86ea-9ef3fa12c965\",\n            \"question\": \"س١\",\n            \"answer\": \"ج١\",\n            \"sort_order\": 1\n        },\n        {\n            \"id\": \"01a1bab1-58f5-717f-b21e-3b1d4e79a923\",\n            \"question\": \"س٢\",\n            \"answer\": \"ج٢\",\n            \"sort_order\": 2\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 FAQs of the app audience",
                                            "_joshen": {
                                                "route": "delivery.faqs.index",
                                                "name": "FAQs of the app audience",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/delivery/faqs",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\PublicContentTest::test_ac_faqs_list_active_items_of_the_audience_in_order"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/faqs",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "faqs"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب الأسئلة الشائعة.\",\n    \"data\": [\n        {\n            \"id\": \"01a1bab1-58f8-72e7-86ea-9ef3fa12c965\",\n            \"question\": \"س١\",\n            \"answer\": \"ج١\",\n            \"sort_order\": 1\n        },\n        {\n            \"id\": \"01a1bab1-58f5-717f-b21e-3b1d4e79a923\",\n            \"question\": \"س٢\",\n            \"answer\": \"ج٢\",\n            \"sort_order\": 2\n        }\n    ]\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "faq_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": []
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Account",
                    "item": [
                        {
                            "name": "Auth",
                            "item": [
                                {
                                    "name": "Register",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/auth/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "auth",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.auth.register`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** Phone code _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** required\n- **Example:** `+966`\n- **Validation rules:** `required|string|in:+966`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** Phone _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `512345678`\n- **Validation rules:** `required|string|regex:/^5[0-9]{8}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password_confirmation`\n- **Description:** Password confirmation _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `full_name`\n- **Description:** Full name _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Test Account`\n- **Validation rules:** `required|string|max:255`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `guarantees_female_gender`\n- **Description:** Guarantees female gender _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n### `accept_policies`\n- **Description:** Accept policies _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n### `accept_terms`\n- **Description:** Accept terms _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `true`\n- **Validation rules:** `required|accepted`\n- `required` — must be provided.\n- `accepted` — must be true / 1 / \"yes\".\n\n**Variables:**\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Register\n- `429` Too many codes sent to this phone — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a18148-dde0-73b7-b946-73e4835ba187\",\n        \"expires_at\": \"2026-10-28T07:03:18+00:00\",\n        \"resend_available_at\": \"2026-10-28T06:54:18+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"full_name\": \"Test Account\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\",\n    \"guarantees_female_gender\": true,\n    \"accept_policies\": true,\n    \"accept_terms\": true\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Register",
                                            "_joshen": {
                                                "route": "delivery.auth.register",
                                                "name": "Register",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/register",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678",
                                                        "full_name": "Test Account",
                                                        "accept_terms": true,
                                                        "accept_policies": true,
                                                        "guarantees_female_gender": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\",\n    \"full_name\": \"Test Account\",\n    \"accept_terms\": true,\n    \"accept_policies\": true,\n    \"guarantees_female_gender\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a18148-dde0-73b7-b946-73e4835ba187\",\n        \"expires_at\": \"2026-10-28T07:03:18+00:00\",\n        \"resend_available_at\": \"2026-10-28T06:54:18+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Test Account\",\n    \"phone_code\": \"+966\",\n    \"phone\": \"512345678\",\n    \"guarantees_female_gender\": true,\n    \"accept_policies\": true,\n    \"accept_terms\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Too many codes sent to this phone",
                                            "_joshen": {
                                                "route": "delivery.auth.register",
                                                "name": "Too many codes sent to this phone",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/register",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678",
                                                        "full_name": "Test Account",
                                                        "accept_terms": true,
                                                        "accept_policies": true,
                                                        "guarantees_female_gender": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_otp_send_returns_429_when_limited"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/register",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "register"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\",\n    \"full_name\": \"Test Account\",\n    \"accept_terms\": true,\n    \"accept_policies\": true,\n    \"guarantees_female_gender\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": []
                                    }
                                },
                                {
                                    "name": "Login",
                                    "event": [
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/auth/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "auth",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.auth.login`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `phone_code`\n- **Description:** Phone code _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `+966`\n- **Required:** required\n- **Example:** `+966`\n- **Validation rules:** `required|string|in:+966`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:+966` — must be one of: +966.\n### `phone`\n- **Description:** Phone _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `500000004`\n- **Validation rules:** `required|string|regex:/^5[0-9]{8}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^5[0-9]{8}$/D` — must match the pattern shown.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `password_confirmation`\n- **Description:** Password confirmation _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `email`\n- **Description:** Email _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Login\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a18148-dea3-737a-aab9-cd2228ee66b3\",\n        \"expires_at\": \"2026-10-28T07:03:18+00:00\",\n        \"resend_available_at\": \"2026-10-28T06:54:18+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"500000004\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Login",
                                            "_joshen": {
                                                "route": "delivery.auth.login",
                                                "name": "Login",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/login",
                                                    "query": null,
                                                    "body": {
                                                        "phone_code": "966",
                                                        "phone": "0512345678"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_login_sends_otp_and_issues_same_app_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"966\",\n    \"phone\": \"0512345678\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a18148-dea3-737a-aab9-cd2228ee66b3\",\n        \"expires_at\": \"2026-10-28T07:03:18+00:00\",\n        \"resend_available_at\": \"2026-10-28T06:54:18+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/login",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "login"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"phone_code\": \"+966\",\n    \"phone\": \"500000004\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": []
                                    }
                                },
                                {
                                    "name": "Verify",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"],[\"otp_code\",\"The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table).\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"delivery_token\",\"data.access_token\"],[\"token\",\"data.access_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/auth/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "auth",
                                                "verify"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.auth.verify`\n**Middleware:** `api, set_locale, cors, throttle:otp-verify`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Verification token _(no description yet)_\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n### `code`\n- **Description:** Code _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `{{otp_code}}`\n- **Validation rules:** `required|string|regex:/^[0-9]{4}$/D`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^[0-9]{4}$/D` — must match the pattern shown.\n### `device_token`\n- **Description:** Device token _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `fcm-device-token-sample`\n- **Validation rules:** `nullable|string|max:4096`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n### `device_type`\n- **Description:** Device type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `ios`, `android`, `huawei`\n- **Required:** conditional\n- **Example:** `ios`\n- **Validation rules:** `required_with:device_token|nullable|in:ios,android,huawei`\n- `required_with:device_token` — required when device_token is present.\n- `nullable` — may be null.\n- `in:ios,android,huawei` — must be one of: ios, android, huawei.\n### `app_version`\n- **Description:** App version _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1.0.0`\n- **Validation rules:** `nullable|string|max:20`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `password`\n- **Description:** Password _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n- Uses `{{otp_code}}` — The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table).\n- Saves `delivery_token` ← `data.access_token` of a 2xx response\n- Saves `token` ← `data.access_token` of a 2xx response\n\n**Responses:**\n- `200` Verify\n- `429` Code locked after five wrong attempts — `error_code: OTP_TOO_MANY_ATTEMPTS`\n- `429` Too many verify requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Phone verified successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a18148-ddfe-72a2-b6c6-14e3c04d920d\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a18148-de05-73cb-a473-ab9f4501eb0c\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_online\": null\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"{{otp_code}}\",\n    \"device_token\": \"fcm-device-token-sample\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Verify",
                                            "_joshen": {
                                                "route": "delivery.auth.verify",
                                                "name": "Verify",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a18148-dde0-73b7-b946-73e4835ba187",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a18148-dde0-73b7-b946-73e4835ba187\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Phone verified successfully.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a18148-ddfe-72a2-b6c6-14e3c04d920d\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a18148-de05-73cb-a473-ab9f4501eb0c\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_online\": null\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\",\n    \"code\": \"{{otp_code}}\",\n    \"device_token\": \"fcm-device-token-sample\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Code locked after five wrong attempts",
                                            "_joshen": {
                                                "route": "delivery.auth.verify",
                                                "name": "Code locked after five wrong attempts",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a18148-dee4-7305-baa0-95d0121d4112",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_otp_returns_invalid_then_429_on_sixth_attempt"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a18148-dee4-7305-baa0-95d0121d4112\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many incorrect codes. Request a new code.\",\n    \"data\": {\n        \"error_code\": \"OTP_TOO_MANY_ATTEMPTS\",\n        \"correlation_id\": \"1e94cef9-3b63-4648-98ff-dac5e3ff8322\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many verify requests",
                                            "_joshen": {
                                                "route": "delivery.auth.verify",
                                                "name": "Too many verify requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/verify",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a18148-e228-7079-8176-c474b9ed9d30",
                                                        "code": "1234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_verify_request_limiter_returns_429"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/verify",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "verify"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a18148-e228-7079-8176-c474b9ed9d30\",\n    \"code\": \"1234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "delivery_token",
                                                "path": "data.access_token"
                                            },
                                            {
                                                "name": "token",
                                                "path": "data.access_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            },
                                            {
                                                "name": "otp_code",
                                                "set_by": [],
                                                "how": "The 4-digit SMS code. Enter it by hand (local: the SMS log or the `verifications` table)."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Resend",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"verification_token\",\"Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"verification_token\",\"data.verification_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/auth/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "auth",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.auth.resend`\n**Middleware:** `api, set_locale, cors, throttle:otp-send`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `verification_token`\n- **Description:** Verification token _(no description yet)_\n- **Type:** `string (uuid)`\n- **Required:** required\n- **Example:** `{{verification_token}}`\n- **Validation rules:** `required|uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n\n**Variables:**\n- Uses `{{verification_token}}` — Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code.\n- Saves `verification_token` ← `data.verification_token` of a 2xx response\n\n**Responses:**\n- `200` Resend Code\n- `429` Resend before the cooldown ends — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a18148-df6b-7252-9ccb-10b173888449\",\n        \"expires_at\": \"2026-10-28T07:04:20+00:00\",\n        \"resend_available_at\": \"2026-10-28T06:55:20+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Resend Code",
                                            "_joshen": {
                                                "route": "delivery.auth.resend",
                                                "name": "Resend Code",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a18148-df6b-7252-9ccb-10b173888449"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_resend_returns_429_until_cooldown_then_same_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a18148-df6b-7252-9ccb-10b173888449\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Verification code sent.\",\n    \"data\": {\n        \"verification_token\": \"01a18148-df6b-7252-9ccb-10b173888449\",\n        \"expires_at\": \"2026-10-28T07:04:20+00:00\",\n        \"resend_available_at\": \"2026-10-28T06:55:20+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"{{verification_token}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "429 Resend before the cooldown ends",
                                            "_joshen": {
                                                "route": "delivery.auth.resend",
                                                "name": "Resend before the cooldown ends",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/resend-code",
                                                    "query": null,
                                                    "body": {
                                                        "verification_token": "01a18148-df6b-7252-9ccb-10b173888449"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_resend_returns_429_until_cooldown_then_same_token"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/resend-code",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "resend-code"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"verification_token\": \"01a18148-df6b-7252-9ccb-10b173888449\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Please wait before requesting another code.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\",\n        \"correlation_id\": \"9ecc892d-a0a8-4a39-bf7c-c75ff2af8073\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "verification_token",
                                                "path": "data.verification_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "verification_token",
                                                "set_by": [
                                                    "client.auth.register",
                                                    "client.auth.login",
                                                    "client.auth.resend",
                                                    "provider.auth.register",
                                                    "provider.auth.login",
                                                    "provider.auth.resend",
                                                    "delivery.auth.register",
                                                    "delivery.auth.login",
                                                    "delivery.auth.resend"
                                                ],
                                                "how": "Saved by POST /api/v1/client/auth/register, POST /api/v1/client/auth/login, POST /api/v1/client/auth/resend-code, POST /api/v1/provider/auth/register, POST /api/v1/provider/auth/login, POST /api/v1/provider/auth/resend-code, POST /api/v1/delivery/auth/register, POST /api/v1/delivery/auth/login, POST /api/v1/delivery/auth/resend-code."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Refresh",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"delivery_token\",\"data.access_token\"],[\"token\",\"data.access_token\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/auth/refresh",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "auth",
                                                "refresh"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.auth.refresh`\n**Middleware:** `api, set_locale, cors, jwt.refreshable:driver, app:driver, active`\n\n**Payload:**\nNo fields. Send an empty JSON object `{}`.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `delivery_token` ← `data.access_token` of a 2xx response\n- Saves `token` ← `data.access_token` of a 2xx response\n\n**Responses:**\n- `200` Refresh\n- `200` Refresh After Expiry\n- `401` Refresh without a token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a18148-e028-7033-a482-a790b6546889\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a18148-e02a-7268-8229-404c905be9f3\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_online\": false\n        }\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "[]",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Refresh",
                                            "_joshen": {
                                                "route": "delivery.auth.refresh",
                                                "name": "Refresh",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_refresh_keeps_app_logout_revokes_token_and_device_app"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a18148-e028-7033-a482-a790b6546889\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a18148-e02a-7268-8229-404c905be9f3\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_online\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Refresh After Expiry",
                                            "_joshen": {
                                                "route": "delivery.auth.refresh",
                                                "name": "Refresh After Expiry",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_td_29_access_ttl_and_refresh_window"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Token refreshed.\",\n    \"data\": {\n        \"access_token\": \"[redacted JWT]\",\n        \"token_type\": \"bearer\",\n        \"expires_in\": 604800,\n        \"user\": {\n            \"id\": \"01a18148-e279-7172-bf7c-9375ab908032\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a18148-e27b-7088-a336-100552495a4c\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_online\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Refresh without a token",
                                            "_joshen": {
                                                "route": "delivery.auth.refresh",
                                                "name": "Refresh without a token",
                                                "code": 401,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/refresh",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_td_29_refresh_without_valid_token_returns_401"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/refresh",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "refresh"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "delivery_token",
                                                "path": "data.access_token"
                                            },
                                            {
                                                "name": "token",
                                                "path": "data.access_token"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Logout",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/auth/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "auth",
                                                "logout"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.auth.logout`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `device_token`\n- **Description:** FCM push token of this device, so the backend stops sending pushes to it after logout; optional.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `fcm-device-token-sample`\n- **Validation rules:** `nullable|string|max:4096`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Logout\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Logout",
                                            "_joshen": {
                                                "route": "delivery.auth.logout",
                                                "name": "Logout",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/logout",
                                                    "query": null,
                                                    "body": {
                                                        "device_token": "test-push-token"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_refresh_keeps_app_logout_revokes_token_and_device_app"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"test-push-token\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"You logged out successfully.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/logout",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "logout"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-device-token-sample\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Me",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/auth/me",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "auth",
                                                "me"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.auth.me`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Me\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a18148-ddfe-72a2-b6c6-14e3c04d920d\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a18148-de05-73cb-a473-ab9f4501eb0c\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_online\": false\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Me",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Me",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_registration_creates_profile_consent_and_me"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Account retrieved successfully.\",\n    \"data\": {\n        \"user\": {\n            \"id\": \"01a18148-ddfe-72a2-b6c6-14e3c04d920d\",\n            \"full_name\": \"Test Account\",\n            \"phone_code\": \"+966\",\n            \"phone\": \"512345678\",\n            \"email\": null,\n            \"image\": \"https://ui-avatars.com/api/?name=U&background=dbeafe&color=1d4ed8&size=200\",\n            \"locale\": \"en\"\n        },\n        \"profile\": {\n            \"id\": \"01a18148-de05-73cb-a473-ab9f4501eb0c\",\n            \"account_status\": {\n                \"value\": \"incomplete\",\n                \"label\": \"Incomplete\"\n            },\n            \"status_reason\": null,\n            \"is_online\": false\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/auth/me",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "auth",
                                                        "me"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Profile",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "work-area"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.work-area.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Saved city and districts\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a1c4f4-df56-73da-8e3f-432f7ae80da8\",\n            \"name\": \"Sample-ydvs96111306\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a1c4f4-df5d-7340-bf8d-4d876df98d4c\",\n                \"name\": \"Sample-bkni46182290\"\n            }\n        ],\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\"\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Saved city and districts",
                                            "_joshen": {
                                                "route": "delivery.work-area.show",
                                                "name": "Saved city and districts",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/work-area",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_approved_driver_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a1c4f4-df56-73da-8e3f-432f7ae80da8\",\n            \"name\": \"Sample-ydvs96111306\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a1c4f4-df5d-7340-bf8d-4d876df98d4c\",\n                \"name\": \"Sample-bkni46182290\"\n            }\n        ],\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"],[\"governorate_id\",\"Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\"],[\"region_id\",\"Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "work-area"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.work-area.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `city_id`\n- **Description:** BRD city UUID (governorates) you work in; must be enabled. Omit to keep the saved city. Changing a saved city after approval or during review returns 409 (TD-76).\n- **Type:** `string (uuid)`\n- **Refers to:** a `governorates` record — send its uuid `id` (TD-19)\n- **Required:** optional\n- **Example:** `{{governorate_id}}`\n- **Validation rules:** `sometimes|required|uuid|exists:governorates,uuid`\n- `sometimes` — validated only when the field is present.\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:governorates,uuid` — must reference an existing record (governorates, uuid).\n### `district_ids`\n- **Description:** Full list of BRD district UUIDs (regions) you work in; replaces the saved list, [] clears it. Each must be enabled and belong to the resulting city. Changing a saved list after approval returns 409 (TD-76).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{region_id}}\"]`\n- **Validation rules:** `sometimes|array|list`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `district_ids.*`\n- **Description:** Work district UUID (regions).\n- **Type:** `string (uuid)`\n- **Refers to:** a `regions` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `{{region_id}}`\n- **Validation rules:** `required|distinct|uuid|exists:regions,uuid`\n- `required` — must be provided.\n- `distinct` — must not repeat a value.\n- `uuid` — must be a uuid.\n- `exists:regions,uuid` — must reference an existing record (regions, uuid).\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Uses `{{governorate_id}}` — Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates.\n- Uses `{{region_id}}` — Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions.\n\n**Responses:**\n- `200` Approved driver sets city and districts for the first time\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Changing approved districts needs review — `error_code: PROFILE_CHANGE_REVIEW_REQUIRED`\n- `409` Changing the approved driver city needs review — `error_code: PROFILE_CHANGE_REVIEW_REQUIRED`\n- `409` Driver city cannot change during review — `error_code: INVALID_STATE_TRANSITION`\n- `422` City sent as an integer id\n- `422` Driver district belongs to another city — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Driver district is inactive — `error_code: SERVICE_AREA_UNAVAILABLE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a1c4f4-df56-73da-8e3f-432f7ae80da8\",\n            \"name\": \"Sample-ydvs96111306\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a1c4f4-df5d-7340-bf8d-4d876df98d4c\",\n                \"name\": \"Sample-bkni46182290\"\n            }\n        ],\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\"\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Approved driver sets city and districts for the first time",
                                            "_joshen": {
                                                "route": "delivery.work-area.update",
                                                "name": "Approved driver sets city and districts for the first time",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-df56-73da-8e3f-432f7ae80da8",
                                                        "district_ids": [
                                                            "01a1c4f4-df5d-7340-bf8d-4d876df98d4c"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_approved_driver_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-df56-73da-8e3f-432f7ae80da8\",\n    \"district_ids\": [\n        \"01a1c4f4-df5d-7340-bf8d-4d876df98d4c\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"city\": {\n            \"id\": \"01a1c4f4-df56-73da-8e3f-432f7ae80da8\",\n            \"name\": \"Sample-ydvs96111306\"\n        },\n        \"districts\": [\n            {\n                \"id\": \"01a1c4f4-df5d-7340-bf8d-4d876df98d4c\",\n                \"name\": \"Sample-bkni46182290\"\n            }\n        ],\n        \"locked_fields\": [\n            \"city_id\",\n            \"district_ids\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"{{governorate_id}}\",\n    \"district_ids\": [\n        \"{{region_id}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Changing approved districts needs review",
                                            "_joshen": {
                                                "route": "delivery.work-area.update",
                                                "name": "Changing approved districts needs review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "district_ids": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_changing_saved_fields_after_approval_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"district_ids\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Changing Districts after approval needs an admin-reviewed change request. Please send a change request from your account.\",\n    \"data\": {\n        \"error_code\": \"PROFILE_CHANGE_REVIEW_REQUIRED\",\n        \"correlation_id\": \"68574ea9-3ea9-441b-a0c5-a5ff6c0bc1cb\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Changing the approved driver city needs review",
                                            "_joshen": {
                                                "route": "delivery.work-area.update",
                                                "name": "Changing the approved driver city needs review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-dfe5-70f5-b182-e364e86fb99e"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_changing_saved_fields_after_approval_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-dfe5-70f5-b182-e364e86fb99e\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Changing City after approval needs an admin-reviewed change request. Please send a change request from your account.\",\n    \"data\": {\n        \"error_code\": \"PROFILE_CHANGE_REVIEW_REQUIRED\",\n        \"correlation_id\": \"8b046425-268a-415c-9019-8a301add4125\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver city cannot change during review",
                                            "_joshen": {
                                                "route": "delivery.work-area.update",
                                                "name": "Driver city cannot change during review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-e042-7363-b779-2f7f19b7acf3",
                                                        "district_ids": []
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_pending_review_blocks_only_city_and_payout_changes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-e042-7363-b779-2f7f19b7acf3\",\n    \"district_ids\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"City cannot be changed while your account is under review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"1deb75d7-02db-4ca5-9abf-0d3b519e4696\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 City sent as an integer id",
                                            "_joshen": {
                                                "route": "delivery.work-area.update",
                                                "name": "City sent as an integer id",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": 20
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": 20\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The City field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"city_id\": [\n                \"The City field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver district belongs to another city",
                                            "_joshen": {
                                                "route": "delivery.work-area.update",
                                                "name": "Driver district belongs to another city",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-e089-70a7-828b-094c13255871",
                                                        "district_ids": [
                                                            "01a1c4f4-e08f-733e-a322-9544833e0447"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_work_area_rejects_foreign_and_inactive_districts"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-e089-70a7-828b-094c13255871\",\n    \"district_ids\": [\n        \"01a1c4f4-e08f-733e-a322-9544833e0447\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected district does not belong to this city.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"The selected district does not belong to this city.\"\n            ]\n        },\n        \"correlation_id\": \"a0a52618-d293-4a0f-822b-5fe862f1d4c9\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver district is inactive",
                                            "_joshen": {
                                                "route": "delivery.work-area.update",
                                                "name": "Driver district is inactive",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/work-area",
                                                    "query": null,
                                                    "body": {
                                                        "city_id": "01a1c4f4-e089-70a7-828b-094c13255871",
                                                        "district_ids": [
                                                            "01a1c4f4-e0a0-717d-ab1a-46db677809e4"
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_work_area_rejects_foreign_and_inactive_districts"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/work-area",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "work-area"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"city_id\": \"01a1c4f4-e089-70a7-828b-094c13255871\",\n    \"district_ids\": [\n        \"01a1c4f4-e0a0-717d-ab1a-46db677809e4\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Service is unavailable in this city or district. Please choose another service area.\",\n    \"data\": {\n        \"error_code\": \"SERVICE_AREA_UNAVAILABLE\",\n        \"correlation_id\": \"f60c2199-64ac-436f-88ee-025c9abb9eb4\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            },
                                            {
                                                "name": "governorate_id",
                                                "set_by": [
                                                    "admin.governorates.index",
                                                    "admin.governorates.store",
                                                    "admin.governorates.show",
                                                    "admin.governorates.update",
                                                    "client.geo.governorates"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/governorates, POST /api/v1/admin/governorates, GET /api/v1/admin/governorates/{governorate}, PUT /api/v1/admin/governorates/{governorate}, GET /api/v1/client/governorates."
                                            },
                                            {
                                                "name": "region_id",
                                                "set_by": [
                                                    "admin.regions.index",
                                                    "admin.regions.store",
                                                    "admin.regions.show",
                                                    "admin.regions.update",
                                                    "client.geo.regions"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/regions, POST /api/v1/admin/regions, GET /api/v1/admin/regions/{region}, PUT /api/v1/admin/regions/{region}, GET /api/v1/client/regions."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/photo",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "photo"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.photo.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `photo`\n- **Description:** Hash of a fresh image you uploaded with POST /media (jpg/jpeg/png/webp, at most 2 MiB; users.image). Send null to remove the photo. Always a direct edit, in every account status (TD-72/76).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `present|nullable|string|max:255`\n- `present` — must be present (may be empty).\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `200` Driver sets her profile photo\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Driver photo hash uploaded by someone else — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Driver photo key missing\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"photo\": \"http://localhost/storage/images/c0c9daf0-61d1-4807-93ab-8679ec0f92a2.png\",\n        \"has_photo\": true\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"photo\": \"{{media_hash}}\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver sets her profile photo",
                                            "_joshen": {
                                                "route": "delivery.photo.update",
                                                "name": "Driver sets her profile photo",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/photo",
                                                    "query": null,
                                                    "body": {
                                                        "photo": "c0c9daf0-61d1-4807-93ab-8679ec0f92a2"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_approved_driver_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"c0c9daf0-61d1-4807-93ab-8679ec0f92a2\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"photo\": \"http://localhost/storage/images/c0c9daf0-61d1-4807-93ab-8679ec0f92a2.png\",\n        \"has_photo\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"{{media_hash}}\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver photo hash uploaded by someone else",
                                            "_joshen": {
                                                "route": "delivery.photo.update",
                                                "name": "Driver photo hash uploaded by someone else",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/photo",
                                                    "query": null,
                                                    "body": {
                                                        "photo": "668243ee-0f0d-436d-8f64-4d371a893e7e"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_photo_rejects_foreign_hash"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"photo\": \"668243ee-0f0d-436d-8f64-4d371a893e7e\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use fresh photos uploaded by you in a supported image format and within the collection size limit.\"\n            ]\n        },\n        \"correlation_id\": \"16a7db0c-282e-4f62-8849-bfacfb01b1e7\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver photo key missing",
                                            "_joshen": {
                                                "route": "delivery.photo.update",
                                                "name": "Driver photo key missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/photo",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/photo",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "photo"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Profile photo field must be present.\",\n    \"data\": {\n        \"errors\": {\n            \"photo\": [\n                \"The Profile photo field must be present.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "personal"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.personal.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Personal details not set yet\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"birth_date\": null,\n        \"nationality\": null,\n        \"locked_fields\": []\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Personal details not set yet",
                                            "_joshen": {
                                                "route": "delivery.personal.show",
                                                "name": "Personal details not set yet",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/personal",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_approved_driver_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"birth_date\": null,\n        \"nationality\": null,\n        \"locked_fields\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "personal"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.personal.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `birth_date`\n- **Description:** Date of birth, YYYY-MM-DD, before today. Omit to keep, null clears. Changing a saved value after approval returns 409 (TD-76).\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `1995-04-12`\n- **Validation rules:** `sometimes|nullable|date_format:Y-m-d|before:today`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date_format:Y-m-d` — must match the date format Y-m-d.\n- `before:today` — custom validation rule.\n### `nationality`\n- **Description:** Nationality as free text (max 60). Omit to keep, null clears. Changing a saved value after approval returns 409 (TD-76).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Saudi`\n- **Validation rules:** `sometimes|nullable|string|max:60`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:60` — must not exceed 60.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Approved driver sets birth date and nationality for the first time\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Changing approved nationality needs review — `error_code: PROFILE_CHANGE_REVIEW_REQUIRED`\n- `409` Clearing approved birth date needs review — `error_code: PROFILE_CHANGE_REVIEW_REQUIRED`\n- `422` Future birth date and too-long nationality\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"birth_date\": \"1995-04-12\",\n        \"nationality\": \"Saudi\",\n        \"locked_fields\": [\n            \"birth_date\",\n            \"nationality\"\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"birth_date\": \"1995-04-12\",\n    \"nationality\": \"Saudi\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Approved driver sets birth date and nationality for the first time",
                                            "_joshen": {
                                                "route": "delivery.personal.update",
                                                "name": "Approved driver sets birth date and nationality for the first time",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/personal",
                                                    "query": null,
                                                    "body": {
                                                        "birth_date": "1995-04-12",
                                                        "nationality": "Saudi"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_approved_driver_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"birth_date\": \"1995-04-12\",\n    \"nationality\": \"Saudi\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"birth_date\": \"1995-04-12\",\n        \"nationality\": \"Saudi\",\n        \"locked_fields\": [\n            \"birth_date\",\n            \"nationality\"\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"birth_date\": \"1995-04-12\",\n    \"nationality\": \"Saudi\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"birth_date\": \"1995-04-12\",\n    \"nationality\": \"Saudi\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Changing approved nationality needs review",
                                            "_joshen": {
                                                "route": "delivery.personal.update",
                                                "name": "Changing approved nationality needs review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/personal",
                                                    "query": null,
                                                    "body": {
                                                        "nationality": "Egyptian"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_changing_saved_fields_after_approval_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"nationality\": \"Egyptian\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Changing Nationality after approval needs an admin-reviewed change request. Please send a change request from your account.\",\n    \"data\": {\n        \"error_code\": \"PROFILE_CHANGE_REVIEW_REQUIRED\",\n        \"correlation_id\": \"3f3983bf-b033-48cc-87c2-315067cf2d89\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Clearing approved birth date needs review",
                                            "_joshen": {
                                                "route": "delivery.personal.update",
                                                "name": "Clearing approved birth date needs review",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/personal",
                                                    "query": null,
                                                    "body": {
                                                        "birth_date": null
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_changing_saved_fields_after_approval_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"birth_date\": null\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Changing Date of birth after approval needs an admin-reviewed change request. Please send a change request from your account.\",\n    \"data\": {\n        \"error_code\": \"PROFILE_CHANGE_REVIEW_REQUIRED\",\n        \"correlation_id\": \"99d59678-aff6-49c7-8190-3e0fa99b4fd3\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Future birth date and too-long nationality",
                                            "_joshen": {
                                                "route": "delivery.personal.update",
                                                "name": "Future birth date and too-long nationality",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/personal",
                                                    "query": null,
                                                    "body": {
                                                        "birth_date": "2026-11-11",
                                                        "nationality": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/personal",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "personal"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"birth_date\": \"2026-11-11\",\n    \"nationality\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The Date of birth field must be a date before today. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"birth_date\": [\n                \"The Date of birth field must be a date before today.\"\n            ],\n            \"nationality\": [\n                \"The Nationality field must not be greater than 60 characters.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "payout-account"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.payout-account.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Saved driver payout account with masked IBAN\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a1c4f4-dfab-73f6-b494-5f618b9103bf\",\n            \"holder_name\": \"Sara\",\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-10T10:15:44+00:00\"\n        },\n        \"can_edit\": false\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Saved driver payout account with masked IBAN",
                                            "_joshen": {
                                                "route": "delivery.payout-account.show",
                                                "name": "Saved driver payout account with masked IBAN",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/payout-account",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_approved_driver_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a1c4f4-dfab-73f6-b494-5f618b9103bf\",\n            \"holder_name\": \"Sara\",\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-10T10:15:44+00:00\"\n        },\n        \"can_edit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "payout-account"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.payout-account.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `holder_name`\n- **Description:** Account holder name as registered at the bank (max 150).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Noura Al Shammari`\n- **Validation rules:** `required|string|max:150`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:150` — must not exceed 150.\n### `bank_name`\n- **Description:** Bank name (max 100).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Al Rajhi Bank`\n- **Validation rules:** `required|string|max:100`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `iban`\n- **Description:** Saudi IBAN: SA + 22 digits or capital letters, no spaces (schema ck_pa_iban). Returned masked to the last four (TD-45). The first account is a direct set; replacing it after approval or during review returns 409 (TD-76).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `SA0380000000608010167519`\n- **Validation rules:** `required|string|regex:/^SA[0-9A-Z]{22}$/`\n- `required` — must be provided.\n- `string` — must be text.\n- `regex:/^SA[0-9A-Z]{22}$/` — must match the pattern shown.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `201` Approved driver adds her first payout account\n- `201` Rejected payout account replaced after approval\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Driver payout account cannot change during review — `error_code: INVALID_STATE_TRANSITION`\n- `409` Replacing the approved driver payout account needs review — `error_code: PROFILE_CHANGE_REVIEW_REQUIRED`\n- `422` Driver IBAN is not SA plus 22 characters\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a1c4f4-dfab-73f6-b494-5f618b9103bf\",\n            \"holder_name\": \"Sara\",\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-10T10:15:44+00:00\"\n        },\n        \"can_edit\": false\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"holder_name\": \"Noura Al Shammari\",\n    \"bank_name\": \"Al Rajhi Bank\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Approved driver adds her first payout account",
                                            "_joshen": {
                                                "route": "delivery.payout-account.store",
                                                "name": "Approved driver adds her first payout account",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Sara",
                                                        "bank_name": "Al Rajhi Bank",
                                                        "iban": "SA0380000000608010167519"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_approved_driver_sets_completion_fields_for_the_first_time"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Sara\",\n    \"bank_name\": \"Al Rajhi Bank\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a1c4f4-dfab-73f6-b494-5f618b9103bf\",\n            \"holder_name\": \"Sara\",\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-10T10:15:44+00:00\"\n        },\n        \"can_edit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "201 Rejected payout account replaced after approval",
                                            "_joshen": {
                                                "route": "delivery.payout-account.store",
                                                "name": "Rejected payout account replaced after approval",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Sara A",
                                                        "bank_name": "Al Rajhi",
                                                        "iban": "SA0380000000608010167519"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\EarningPayoutTest::test_ac_driv_017_a_rejected_account_can_be_replaced_after_approval"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Sara A\",\n    \"bank_name\": \"Al Rajhi\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"payout_account\": {\n            \"id\": \"01a19b8f-f13f-7069-bf95-c6aec9ec9b35\",\n            \"holder_name\": \"Sara A\",\n            \"bank_name\": \"Al Rajhi\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-02T09:21:04+00:00\"\n        },\n        \"can_edit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura Al Shammari\",\n    \"bank_name\": \"Al Rajhi Bank\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Noura Al Shammari\",\n    \"bank_name\": \"Al Rajhi Bank\",\n    \"iban\": \"SA0380000000608010167519\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Driver payout account cannot change during review",
                                            "_joshen": {
                                                "route": "delivery.payout-account.store",
                                                "name": "Driver payout account cannot change during review",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Sara",
                                                        "bank_name": "SNB",
                                                        "iban": "SA4420000001234567891234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_pending_review_blocks_only_city_and_payout_changes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Sara\",\n    \"bank_name\": \"SNB\",\n    \"iban\": \"SA4420000001234567891234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Payout account cannot be changed while your account is under review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"d30aeb57-8d4e-461f-b0ee-18e32949d880\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Replacing the approved driver payout account needs review",
                                            "_joshen": {
                                                "route": "delivery.payout-account.store",
                                                "name": "Replacing the approved driver payout account needs review",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Sara",
                                                        "bank_name": "SNB",
                                                        "iban": "SA4420000001234567891234"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_changing_saved_fields_after_approval_returns_409"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Sara\",\n    \"bank_name\": \"SNB\",\n    \"iban\": \"SA4420000001234567891234\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Changing Payout account after approval needs an admin-reviewed change request. Please send a change request from your account.\",\n    \"data\": {\n        \"error_code\": \"PROFILE_CHANGE_REVIEW_REQUIRED\",\n        \"correlation_id\": \"d39fe83d-ba88-4c2d-951c-f31f8f5c0e96\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver IBAN is not SA plus 22 characters",
                                            "_joshen": {
                                                "route": "delivery.payout-account.store",
                                                "name": "Driver IBAN is not SA plus 22 characters",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/payout-account",
                                                    "query": null,
                                                    "body": {
                                                        "holder_name": "Sara",
                                                        "bank_name": "SNB",
                                                        "iban": "SA12"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\ProfileTest::test_ac_driv_006_shape_errors_are_422"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/payout-account",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "payout-account"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"holder_name\": \"Sara\",\n    \"bank_name\": \"SNB\",\n    \"iban\": \"SA12\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The IBAN field format is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"iban\": [\n                \"The IBAN field format is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"change_request_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "change-requests"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "pending",
                                                    "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[change_type]",
                                                    "value": "work_area",
                                                    "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.profile.change-requests.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled` (optional)\n- `filters[change_type]` — Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document` (optional)\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `change_request_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Her change requests\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Under review\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": null,\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                            \"name\": \"Sample-ibmd84798706\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                                \"name\": \"Sample-ngfw94436787\"\n                            }\n                        ]\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": null,\n                \"can_cancel\": true,\n                \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n                \"reviewed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/delivery/profile/change-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/delivery/profile/change-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/delivery/profile/change-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/delivery/profile/change-requests\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Her change requests",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.index",
                                                "name": "Her change requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n                \"change_type\": {\n                    \"value\": \"work_area\",\n                    \"label\": \"Work area\"\n                },\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Under review\"\n                },\n                \"changes\": [\n                    {\n                        \"field\": \"city_id\",\n                        \"label\": \"City\",\n                        \"current\": null,\n                        \"proposed\": {\n                            \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                            \"name\": \"Sample-ibmd84798706\"\n                        }\n                    },\n                    {\n                        \"field\": \"district_ids\",\n                        \"label\": \"Districts\",\n                        \"current\": [],\n                        \"proposed\": [\n                            {\n                                \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                                \"name\": \"Sample-ngfw94436787\"\n                            }\n                        ]\n                    }\n                ],\n                \"file\": null,\n                \"decision_note\": null,\n                \"can_cancel\": true,\n                \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n                \"reviewed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/delivery/profile/change-requests?page=1\",\n            \"last\": \"http://localhost/api/v1/delivery/profile/change-requests?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/delivery/profile/change-requests?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/delivery/profile/change-requests\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "pending",
                                                            "description": "Only requests in this state: `pending`, `approved`, `rejected` or `cancelled`. — `string (enum)`, one of: `pending`, `approved`, `rejected`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[change_type]",
                                                            "value": "work_area",
                                                            "description": "Only requests of this type. — `string (enum)`, one of: `work_area`, `bank_account`, `identity`, `document`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests",
                                                    "query": {
                                                        "filters": {
                                                            "status": "bogus"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests?filters[status]=bogus",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "bogus"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "change_request_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"change_request_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "change-requests"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.profile.change-requests.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, throttle:support-ticket`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `change_type`\n- **Description:** What she wants to change: `work_area`, `bank_account`, `identity`, `document`, or (driver app only) `vehicle`. Old data stays effective until an admin approves (BR-04).\n- **Type:** `string (enum)`\n- **Allowed values:** `work_area`, `bank_account`, `identity`, `document`\n- **Required:** required\n- **Example:** `work_area`\n- **Validation rules:** `required|string|in:\"work_area\",\"bank_account\",\"identity\",\"document\"`\n- `required` — must be provided.\n- `string` — must be text.\n- `in:\"work_area\",\"bank_account\",\"identity\",\"document\"` — must be one of: \"work_area\", \"bank_account\", \"identity\", \"document\".\n### `changes`\n- **Description:** The new values; the allowed keys depend on `change_type` (see the guide). At least one value must differ from the current one.\n- **Type:** `array`\n- **Required:** required\n- **Example:** `[]`\n- **Validation rules:** `required|array|min:1|custom:SupportedKeys`\n- `required` — must be provided.\n- `array` — must be an array.\n- `min:1` — must be at least 1.\n- `custom:SupportedKeys` — may only contain the keys documented for this field.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `change_request_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Driver identity change submitted\n- `201` Driver work area change submitted\n- `201` Vehicle edit submitted\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Accepted or live trip blocks a vehicle change — `error_code: ACTIVE_TRIP_BLOCKS_VEHICLE_CHANGE`\n- `422` Invalid city\n- `429` Too many submissions — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-ce11-73ec-b954-df0d40aefbc6\",\n        \"change_type\": {\n            \"value\": \"identity\",\n            \"label\": \"Identity\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"full_name\",\n                \"label\": \"Full name\",\n                \"current\": \"King Watsica I\",\n                \"proposed\": \"Hind Al Otaibi\"\n            },\n            {\n                \"field\": \"nationality\",\n                \"label\": \"Nationality\",\n                \"current\": \"Saudi\",\n                \"proposed\": \"Egyptian\"\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:49+00:00\",\n        \"reviewed_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": []\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Driver identity change submitted",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.store",
                                                "name": "Driver identity change submitted",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "identity",
                                                        "changes": {
                                                            "full_name": "Hind Al Otaibi",
                                                            "nationality": "Egyptian"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_driver_identity_change_and_foreign_plate_validation"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"identity\",\n    \"changes\": {\n        \"full_name\": \"Hind Al Otaibi\",\n        \"nationality\": \"Egyptian\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-ce11-73ec-b954-df0d40aefbc6\",\n        \"change_type\": {\n            \"value\": \"identity\",\n            \"label\": \"Identity\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"full_name\",\n                \"label\": \"Full name\",\n                \"current\": \"King Watsica I\",\n                \"proposed\": \"Hind Al Otaibi\"\n            },\n            {\n                \"field\": \"nationality\",\n                \"label\": \"Nationality\",\n                \"current\": \"Saudi\",\n                \"proposed\": \"Egyptian\"\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:49+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 Driver work area change submitted",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.store",
                                                "name": "Driver work area change submitted",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "work_area",
                                                        "changes": {
                                                            "city_id": "01a1c4e0-d031-72c5-a7aa-2040afd441a1",
                                                            "district_ids": [
                                                                "01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": {\n        \"city_id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n        \"district_ids\": [\n            \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\"\n        ]\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": null,\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                    \"name\": \"Sample-ibmd84798706\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                        \"name\": \"Sample-ngfw94436787\"\n                    }\n                ]\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "201 Vehicle edit submitted",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.store",
                                                "name": "Vehicle edit submitted",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "vehicle",
                                                        "changes": {
                                                            "action": "edit",
                                                            "color": "Black"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_vehicle_change_is_blocked_by_a_live_trip_and_otherwise_edits_or_replaces"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"vehicle\",\n    \"changes\": {\n        \"action\": \"edit\",\n        \"color\": \"Black\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data saved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-cab0-7234-bf7d-e422ffdbc0fa\",\n        \"change_type\": {\n            \"value\": \"vehicle\",\n            \"label\": \"Vehicle\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"color\",\n                \"label\": \"Color\",\n                \"current\": \"White\",\n                \"proposed\": \"Black\"\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:48+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": []\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Accepted or live trip blocks a vehicle change",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.store",
                                                "name": "Accepted or live trip blocks a vehicle change",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "vehicle",
                                                        "changes": {
                                                            "action": "edit",
                                                            "color": "Black"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_a_vehicle_change_is_blocked_by_a_live_trip_and_otherwise_edits_or_replaces"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"vehicle\",\n    \"changes\": {\n        \"action\": \"edit\",\n        \"color\": \"Black\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You cannot change your vehicle while you have an accepted or live trip. Try again after the trip ends.\",\n    \"data\": {\n        \"error_code\": \"ACTIVE_TRIP_BLOCKS_VEHICLE_CHANGE\",\n        \"correlation_id\": \"e6065a7c-0642-4e11-beca-4e684d87dfe2\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid city",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.store",
                                                "name": "Invalid city",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests",
                                                    "query": null,
                                                    "body": {
                                                        "change_type": "work_area",
                                                        "changes": {
                                                            "city_id": "not-a-uuid"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"change_type\": \"work_area\",\n    \"changes\": {\n        \"city_id\": \"not-a-uuid\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The changes.city id field must be a valid UUID.\",\n    \"data\": {\n        \"errors\": {\n            \"changes.city_id\": [\n                \"The changes.city id field must be a valid UUID.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many submissions",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.store",
                                                "name": "Too many submissions",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_submissions_are_rate_limited_in_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "change_request_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"change_request_id\",\"Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"change_request_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/:changeRequest",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "change-requests",
                                                ":changeRequest"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "changeRequest",
                                                    "value": "{{change_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.profile.change-requests.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{change_request_id}}` — Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `change_request_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` One change request\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": null,\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                    \"name\": \"Sample-ibmd84798706\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                        \"name\": \"Sample-ngfw94436787\"\n                    }\n                ]\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 One change request",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.show",
                                                "name": "One change request",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests/01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests",
                                                        "01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d04f-70c9-9b5c-b6d05217fe4d\",\n        \"change_type\": {\n            \"value\": \"work_area\",\n            \"label\": \"Work area\"\n        },\n        \"status\": {\n            \"value\": \"pending\",\n            \"label\": \"Under review\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"city_id\",\n                \"label\": \"City\",\n                \"current\": null,\n                \"proposed\": {\n                    \"id\": \"01a1c4e0-d031-72c5-a7aa-2040afd441a1\",\n                    \"name\": \"Sample-ibmd84798706\"\n                }\n            },\n            {\n                \"field\": \"district_ids\",\n                \"label\": \"Districts\",\n                \"current\": [],\n                \"proposed\": [\n                    {\n                        \"id\": \"01a1c4e0-d037-7340-b7ed-ea1a8cf71b4e\",\n                        \"name\": \"Sample-ngfw94436787\"\n                    }\n                ]\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": true,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/:changeRequest",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/:changeRequest",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "change_request_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "change_request_id",
                                                "set_by": [
                                                    "admin.providers.change-requests.index",
                                                    "admin.drivers.change-requests.index",
                                                    "provider.profile.change-requests.index",
                                                    "provider.profile.change-requests.store",
                                                    "provider.profile.change-requests.show",
                                                    "delivery.profile.change-requests.index",
                                                    "delivery.profile.change-requests.store",
                                                    "delivery.profile.change-requests.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Cancel",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"change_request_id\",\"Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/:changeRequest/cancel",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "profile",
                                                "change-requests",
                                                ":changeRequest",
                                                "cancel"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "changeRequest",
                                                    "value": "{{change_request_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.profile.change-requests.cancel`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{change_request_id}}` — Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Pending request cancelled\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Cancel a decided request — `error_code: INVALID_STATE_TRANSITION`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d0e0-7169-a35a-23aa866be8eb\",\n        \"change_type\": {\n            \"value\": \"identity\",\n            \"label\": \"Identity\"\n        },\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"nationality\",\n                \"label\": \"Nationality\",\n                \"current\": null,\n                \"proposed\": \"Jordanian\"\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Pending request cancelled",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.cancel",
                                                "name": "Pending request cancelled",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests/01a1c4e0-d0e0-7169-a35a-23aa866be8eb/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/01a1c4e0-d0e0-7169-a35a-23aa866be8eb/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests",
                                                        "01a1c4e0-d0e0-7169-a35a-23aa866be8eb",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"id\": \"01a1c4e0-d0e0-7169-a35a-23aa866be8eb\",\n        \"change_type\": {\n            \"value\": \"identity\",\n            \"label\": \"Identity\"\n        },\n        \"status\": {\n            \"value\": \"cancelled\",\n            \"label\": \"Cancelled\"\n        },\n        \"changes\": [\n            {\n                \"field\": \"nationality\",\n                \"label\": \"Nationality\",\n                \"current\": null,\n                \"proposed\": \"Jordanian\"\n            }\n        ],\n        \"file\": null,\n        \"decision_note\": null,\n        \"can_cancel\": false,\n        \"submitted_at\": \"2026-11-10T09:53:50+00:00\",\n        \"reviewed_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/:changeRequest/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/:changeRequest/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Cancel a decided request",
                                            "_joshen": {
                                                "route": "delivery.profile.change-requests.cancel",
                                                "name": "Cancel a decided request",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/profile/change-requests/01a1c4e0-d0af-7239-96c7-cf03474e09a1/cancel",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\ProfileChangeRequestTest::test_the_driver_app_and_the_admin_desk_return_the_documented_shapes"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/01a1c4e0-d0af-7239-96c7-cf03474e09a1/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests",
                                                        "01a1c4e0-d0af-7239-96c7-cf03474e09a1",
                                                        "cancel"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This request has already been decided.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"e87828da-e13d-4cce-88a7-86eac5075b39\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/profile/change-requests/:changeRequest/cancel",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "profile",
                                                        "change-requests",
                                                        ":changeRequest",
                                                        "cancel"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "changeRequest",
                                                            "value": "{{change_request_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "change_request_id",
                                                "set_by": [
                                                    "admin.providers.change-requests.index",
                                                    "admin.drivers.change-requests.index",
                                                    "provider.profile.change-requests.index",
                                                    "provider.profile.change-requests.store",
                                                    "provider.profile.change-requests.show",
                                                    "delivery.profile.change-requests.index",
                                                    "delivery.profile.change-requests.store",
                                                    "delivery.profile.change-requests.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/providers/{id}/change-requests, GET /api/v1/admin/drivers/{id}/change-requests, GET /api/v1/provider/profile/change-requests, POST /api/v1/provider/profile/change-requests, GET /api/v1/provider/profile/change-requests/{changeRequest}, GET /api/v1/delivery/profile/change-requests, POST /api/v1/delivery/profile/change-requests, GET /api/v1/delivery/profile/change-requests/{changeRequest}."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Communication",
                    "item": [
                        {
                            "name": "Notifications",
                            "item": [
                                {
                                    "name": "Device",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/notifications/device",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "notifications",
                                                "device"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.notifications.device`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `device_token`\n- **Description:** Device token _(no description yet)_\n- **Type:** `string`\n- **Required:** required\n- **Example:** `value`\n- **Validation rules:** `required|string|max:4096`\n- `required` — must be provided.\n- `string` — must be text.\n- `max:4096` — must not exceed 4096.\n### `device_type`\n- **Description:** Device type _(no description yet)_\n- **Type:** `string (enum)`\n- **Allowed values:** `ios`, `android`, `huawei`\n- **Required:** required\n- **Example:** `ios`\n- **Validation rules:** `required|in:ios,android,huawei`\n- `required` — must be provided.\n- `in:ios,android,huawei` — must be one of: ios, android, huawei.\n### `app_version`\n- **Description:** App version _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `nullable|string|max:20`\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `device_id`\n- **Description:** Device id _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Device\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Device registered.\",\n    \"data\": null\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Device",
                                            "_joshen": {
                                                "route": "delivery.notifications.device",
                                                "name": "Device",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/notifications/device",
                                                    "query": null,
                                                    "body": {
                                                        "device_token": "fcm-rotated",
                                                        "device_type": "android",
                                                        "app_version": "2.0.0"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_device_refresh_upserts_this_app_registration"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"fcm-rotated\",\n    \"device_type\": \"android\",\n    \"app_version\": \"2.0.0\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Device registered.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unprocessable Content (illustrative, not captured)",
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/device",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "device"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"device_token\": \"value\",\n    \"device_type\": \"ios\",\n    \"app_version\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The given data was invalid.\",\n    \"data\": null\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "notifications",
                                                "preferences",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.notifications.preferences.categories.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver defaults\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver defaults",
                                            "_joshen": {
                                                "route": "delivery.notifications.preferences.categories.show",
                                                "name": "Driver defaults",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_prov_025_and_ac_driv_018_settings_are_isolated_per_app"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "notifications",
                                                "preferences",
                                                "categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.notifications.preferences.categories.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `categories`\n- **Description:** Switches to change, keyed by category: orders, payments, chat, offers or account. Categories and fields left out stay unchanged (DEC-13).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"orders\":{\"push_enabled\":false},\"0\":{\"push_enabled\":false,\"sms_enabled\":true}}`\n- **Validation rules:** `sometimes|array:orders,payments,chat,offers,account|min:1`\n- `sometimes` — validated only when the field is present.\n- `array:orders,payments,chat,offers,account` — must be an array.\n- `min:1` — must be at least 1.\n### `categories.*`\n- **Description:** Switches of one category; send at least one of the two fields.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"push_enabled\":false,\"sms_enabled\":true}`\n- **Validation rules:** `sometimes|array:push_enabled,sms_enabled`\n- `sometimes` — validated only when the field is present.\n- `array:push_enabled,sms_enabled` — must be an array.\n### `categories.*.push_enabled`\n- **Description:** Whether push notifications of this category reach this app. The inbox row is always written.\n- **Type:** `boolean`\n- **Required:** conditional\n- **Example:** `false`\n- **Validation rules:** `required_without:categories.*.sms_enabled|boolean`\n- `required_without:categories.*.sms_enabled` — required when categories.*.sms_enabled is missing.\n- `boolean` — must be true, false, 1, or 0.\n### `categories.*.sms_enabled`\n- **Description:** Stored for the day SMS notifications exist; it has no effect yet because the SMS provider is open (DEC-15).\n- **Type:** `boolean`\n- **Required:** conditional\n- **Example:** `true`\n- **Validation rules:** `required_without:categories.*.push_enabled|boolean`\n- `required_without:categories.*.push_enabled` — required when categories.*.push_enabled is missing.\n- `boolean` — must be true, false, 1, or 0.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver switches offers off\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Switch is not a boolean\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Preferences updated\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": false,\n                \"sms_enabled\": false\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver switches offers off",
                                            "_joshen": {
                                                "route": "delivery.notifications.preferences.categories.update",
                                                "name": "Driver switches offers off",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": {
                                                        "categories": {
                                                            "offers": {
                                                                "push_enabled": false,
                                                                "sms_enabled": false
                                                            }
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_driv_018_driver_app_can_write_its_own_switches"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"offers\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": false\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Preferences updated\",\n    \"data\": {\n        \"allow_notifications\": true,\n        \"sms_delivery_available\": false,\n        \"categories\": [\n            {\n                \"category\": {\n                    \"value\": \"orders\",\n                    \"label\": \"Orders and trips\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"payments\",\n                    \"label\": \"Payments and payouts\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"chat\",\n                    \"label\": \"Chat messages\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            },\n            {\n                \"category\": {\n                    \"value\": \"offers\",\n                    \"label\": \"Offers\"\n                },\n                \"push_enabled\": false,\n                \"sms_enabled\": false\n            },\n            {\n                \"category\": {\n                    \"value\": \"account\",\n                    \"label\": \"Account and support\"\n                },\n                \"push_enabled\": true,\n                \"sms_enabled\": true\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"orders\": {\n            \"push_enabled\": false\n        },\n        \"0\": {\n            \"push_enabled\": false,\n            \"sms_enabled\": true\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Switch is not a boolean",
                                            "_joshen": {
                                                "route": "delivery.notifications.preferences.categories.update",
                                                "name": "Switch is not a boolean",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/notifications/preferences/categories",
                                                    "query": null,
                                                    "body": {
                                                        "categories": {
                                                            "chat": {
                                                                "push_enabled": "maybe"
                                                            }
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\NotificationCategoryPreferenceTest::test_ac_cust_022_validation_errors"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/notifications/preferences/categories",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "notifications",
                                                        "preferences",
                                                        "categories"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"categories\": {\n        \"chat\": {\n            \"push_enabled\": \"maybe\"\n        }\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The categories.chat.push_enabled field must be true or false.\",\n    \"data\": {\n        \"errors\": {\n            \"categories.chat.push_enabled\": [\n                \"The categories.chat.push_enabled field must be true or false.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "General",
                    "item": [
                        {
                            "name": "Onboarding",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "onboarding"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.onboarding.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Activated driver with verified registration documents\n- `200` Activation details complete awaiting approval\n- `200` Arabic incomplete registration\n- `200` car under review\n- `200` motorbike under review\n- `200` needs_changes resubmission enabled\n- `200` rejected resubmission disabled\n- `200` rejected resubmission enabled\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18149-004c-7188-9ce3-0b277c1b4c2a\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:27+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"completed\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18149-0099-7213-ad3c-b42265960848\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18149-009c-719c-8676-08ef40545117\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/uploads/file/bd2d3d84-3158-43ab-8162-d3e731ae118f.webp\"\n            },\n            {\n                \"id\": \"01a18149-00a4-7348-af03-2331d1028bbc\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/onboarding/0c145d62-0c2d-4747-97af-cb398b63a436.pdf\"\n            },\n            {\n                \"id\": \"01a18149-00b3-7392-b3de-4c266046d914\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/onboarding/45df71e7-c729-43bd-9aa0-bbddd3e85b2c.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Activated driver with verified registration documents",
                                            "_joshen": {
                                                "route": "delivery.onboarding.show",
                                                "name": "Activated driver with verified registration documents",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_otp_upload_submission_and_admin_approval_cycle"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18149-004c-7188-9ce3-0b277c1b4c2a\",\n        \"account_status\": {\n            \"value\": \"approved\",\n            \"label\": \"Approved\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:27+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"completed\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18149-0099-7213-ad3c-b42265960848\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18149-009c-719c-8676-08ef40545117\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/uploads/file/bd2d3d84-3158-43ab-8162-d3e731ae118f.webp\"\n            },\n            {\n                \"id\": \"01a18149-00a4-7348-af03-2331d1028bbc\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/onboarding/0c145d62-0c2d-4747-97af-cb398b63a436.pdf\"\n            },\n            {\n                \"id\": \"01a18149-00b3-7392-b3de-4c266046d914\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"verified\",\n                    \"label\": \"Verified\"\n                },\n                \"file_url\": \"/storage/onboarding/45df71e7-c729-43bd-9aa0-bbddd3e85b2c.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 Activation details complete awaiting approval",
                                            "_joshen": {
                                                "route": "delivery.onboarding.show",
                                                "name": "Activation details complete awaiting approval",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_activation_checklist_reads_existing_profile_records"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-ff4f-700d-8a8d-1aff9d130d6f\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-ff71-726d-8fad-f6add3029093\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-ff73-73d4-af35-e8ac4dee06dd\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/6dc23e11-d489-4cab-99d2-83170016e300.pdf\"\n            },\n            {\n                \"id\": \"01a18148-ff77-72a6-b43c-0e0652d510f9\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/7268ab87-21d1-4e4c-9d22-5f5835953f8a.pdf\"\n            },\n            {\n                \"id\": \"01a18148-ff82-7136-a76f-f8896202c754\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/6087f56f-63a1-45b6-a86b-4125c3f389f2.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Arabic incomplete registration",
                                            "_joshen": {
                                                "route": "delivery.onboarding.show",
                                                "name": "Arabic incomplete registration",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "ar",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_arabic_status_and_missing_requirements"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-fff6-70e0-ac45-d1dcf3196292\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"غير مكتمل\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"استلام الطلب\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"التحقق من الشهادات\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"تفعيل الملف\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Mr. Alek Willms I\",\n        \"national_id\": null,\n        \"vehicle\": null,\n        \"documents\": [],\n        \"missing_for_submission\": [\n            \"national_id\",\n            \"vehicle\",\n            \"documents.national_id\",\n            \"documents.driving_license\",\n            \"documents.vehicle_registration\"\n        ],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 car under review",
                                            "_joshen": {
                                                "route": "delivery.onboarding.show",
                                                "name": "car under review",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_happy_path_saves_and_submits_without_activation_fields"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e643-715a-abe5-fa70ecd713f8\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:20+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e666-71bc-b15c-43dc9df7a8fc\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e66a-704e-9a3e-3e44d0d93bd1\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/295def66-52ee-45d0-a932-aa0cc55544ca.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e66f-7150-8c5c-798b963c99a2\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/238f151d-5761-4705-bea0-9f76e3c15f73.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e673-735b-915a-ae9ecbe3237c\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c109c507-ae62-4799-853b-3b1e04b09ffe.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 motorbike under review",
                                            "_joshen": {
                                                "route": "delivery.onboarding.show",
                                                "name": "motorbike under review",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_happy_path_saves_and_submits_without_activation_fields"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e6cf-7196-a6a1-9f7c5cb963d7\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:20+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e6f0-7258-9f8c-fe04f72a8ce7\",\n            \"vehicle_type\": {\n                \"value\": \"motorbike\",\n                \"label\": \"Motorbike\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e6f4-70bb-bbb4-574c93b5384a\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/2edfa353-be52-49d8-81b0-bb4d5289d6a7.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e6f9-71e6-8c38-95933a56b070\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a933d62d-8153-47c0-9bf3-457df3727ce0.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e6fe-70ec-9f98-958e465cdb8b\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/7def34e6-32b8-444b-9fa9-c586943e7822.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 needs_changes resubmission enabled",
                                            "_joshen": {
                                                "route": "delivery.onboarding.show",
                                                "name": "needs_changes resubmission enabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-f44e-7349-9e11-7c061a336344\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Correct the documents\",\n        \"submitted_at\": \"2026-10-27T06:53:24+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-f4a2-7350-b9c3-7d2c3f35c0b8\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-f4a4-73ff-9e5d-2d4002fb4adf\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f920a862-c498-4741-846f-3eec77879780.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f4b1-7255-afee-562de87ff843\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/2444f8aa-c7f1-42ab-ae0a-db59d375089b.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f4bd-725f-a297-13fadc0cc328\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/76a2e89c-f19e-4697-aea4-277943cfdb93.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 rejected resubmission disabled",
                                            "_joshen": {
                                                "route": "delivery.onboarding.show",
                                                "name": "rejected resubmission disabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-f87c-70ee-8ba8-dc3b998192a6\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Correct the documents\",\n        \"submitted_at\": \"2026-10-27T06:53:25+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-f8af-71b7-b5b8-53273bdd29eb\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-f8b1-7135-b2db-fc4667fbc516\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f6a7ec78-d9e9-4666-ac47-8404b8619103.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f8bd-72ff-a015-bca79d1eb565\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c28242a9-1a6d-4e8a-8e58-3ccfa79ff9d4.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f8c5-7349-8121-c4d436315e33\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/0589d2ff-1924-4648-b489-cc4dba263c33.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 rejected resubmission enabled",
                                            "_joshen": {
                                                "route": "delivery.onboarding.show",
                                                "name": "rejected resubmission enabled",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-f73a-714c-87d6-021793a7825d\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Correct the documents\",\n        \"submitted_at\": \"2026-10-27T06:53:25+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-f78f-7213-a3c7-09f85c1ca64e\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-f794-711f-ac25-caa885e0a150\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/587a104d-7e35-414f-822c-ebc216a4cbc8.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f7a4-702e-a66f-1ce995d0b744\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/95a06363-70f0-44be-ad34-d63dd1a30d31.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f7b4-7337-be56-88efb68911df\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/ee97c4dc-bcde-483c-93da-c4788a39ec6a.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PUT",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "onboarding"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.onboarding.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `full_name`\n- **Description:** SCR-19 full name stored in base users.full_name, shared by this person across apps (TD-67). Omit to preserve.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `Maha Al Zahrani`\n- **Validation rules:** `sometimes|sometimes|string|max:255`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `max:255` — must not exceed 255.\n### `national_id`\n- **Description:** National ID/iqama required on submit, returned masked (TD-51/65). Omit to preserve; null clears.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1000001234`\n- **Validation rules:** `sometimes|nullable|string|max:20`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `vehicle`\n- **Description:** The registration vehicle: update the owned active row in place or create if absent (TD-52/67). Omit to preserve.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"vehicle_type\":\"car\",\"make_model\":\"Toyota Yaris\",\"plate_number\":\"أ ب ج 1234\",\"model_year\":2024,\"color\":\"White\"}`\n- **Validation rules:** `sometimes|sometimes|array:vehicle_type,make_model,plate_number,model_year,color`\n- `sometimes` — validated only when the field is present.\n- `sometimes` — validated only when the field is present.\n- `array:vehicle_type,make_model,plate_number,model_year,color` — must be an array.\n### `vehicle.vehicle_type`\n- **Description:** Schema vehicle type; required whenever vehicle is supplied.\n- **Type:** `string (enum)`\n- **Allowed values:** `car`, `motorbike`\n- **Required:** conditional\n- **Example:** `car`\n- **Validation rules:** `required_with:vehicle|in:\"car\",\"motorbike\"`\n- `required_with:vehicle` — required when vehicle is present.\n- `in:\"car\",\"motorbike\"` — must be one of: \"car\", \"motorbike\".\n### `vehicle.make_model`\n- **Description:** Vehicle make and model in one schema field (TD-48). Required with vehicle.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `Toyota Yaris`\n- **Validation rules:** `required_with:vehicle|string|max:100`\n- `required_with:vehicle` — required when vehicle is present.\n- `string` — must be text.\n- `max:100` — must not exceed 100.\n### `vehicle.plate_number`\n- **Description:** Public, unmasked registration plate (TD-51). Required with vehicle.\n- **Type:** `string`\n- **Required:** conditional\n- **Example:** `أ ب ج 1234`\n- **Validation rules:** `required_with:vehicle|string|max:20`\n- `required_with:vehicle` — required when vehicle is present.\n- `string` — must be text.\n- `max:20` — must not exceed 20.\n### `vehicle.model_year`\n- **Description:** Optional model year, schema SMALLINT capacity; omit to preserve, null clears (TD-67).\n- **Type:** `integer`\n- **Required:** optional\n- **Example:** `2024`\n- **Validation rules:** `sometimes|nullable|integer|between:-32768,32767`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `integer` — must be a whole number.\n- `between:-32768,32767` — must be between -32768, 32767.\n### `vehicle.color`\n- **Description:** Optional vehicle color; omit to preserve, null clears.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `White`\n- **Validation rules:** `sometimes|nullable|string|max:40`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:40` — must not exceed 40.\n### `documents`\n- **Description:** Fresh replacement uploads, role-scoped to driver. Omit or empty list preserves existing documents (TD-63/67).\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[{\"doc_type\":\"driving_license\",\"file\":\"{{media_hash}}\",\"doc_number\":\"1000001234\",\"expires_at\":\"2027-12-31\"}]`\n- **Validation rules:** `sometimes|array|list`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n### `documents.*`\n- **Description:** One document type and fresh upload hash, with optional number/expiry.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `{\"doc_type\":\"driving_license\",\"file\":\"{{media_hash}}\",\"doc_number\":\"1000001234\",\"expires_at\":\"2027-12-31\"}`\n- **Validation rules:** `sometimes|array:doc_type,file,doc_number,expires_at`\n- `sometimes` — validated only when the field is present.\n- `array:doc_type,file,doc_number,expires_at` — must be an array.\n### `documents.*.doc_type`\n- **Description:** SCR-19 national ID, driving license or vehicle registration; same types initial approval checks (TD-50/59).\n- **Type:** `string (enum)`\n- **Allowed values:** `national_id`, `driving_license`, `vehicle_registration`\n- **Required:** optional\n- **Example:** `driving_license`\n- **Validation rules:** `sometimes|string|distinct|in:\"national_id\",\"driving_license\",\"vehicle_registration\"`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `in:\"national_id\",\"driving_license\",\"vehicle_registration\"` — must be one of: \"national_id\", \"driving_license\", \"vehicle_registration\".\n### `documents.*.file`\n- **Description:** Fresh unattached media hash from POST /api/v1/media, owned by this user; image/PDF up to 5 MiB.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** optional\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `sometimes|string|distinct|custom:MediaExists`\n- `sometimes` — validated only when the field is present.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n### `documents.*.doc_number`\n- **Description:** Optional document number, always masked on normal reads (TD-51).\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `1000001234`\n- **Validation rules:** `sometimes|nullable|string|max:50`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `string` — must be text.\n- `max:50` — must not exceed 50.\n### `documents.*.expires_at`\n- **Description:** Optional date-only expiry. Null allowed; expired drafts save but block submit (TD-59).\n- **Type:** `string (date)`\n- **Required:** optional\n- **Example:** `2027-12-31`\n- **Validation rules:** `sometimes|nullable|date_format:Y-m-d`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `date_format:Y-m-d` — must match the date format Y-m-d.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `200` Active vehicle updated in place\n- `200` Complete car registration draft\n- `200` Complete motorbike registration draft\n- `200` Document replaced with history preserved\n- `200` needs_changes draft allowed\n- `200` rejected draft allowed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` approved cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` pending_review cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` rejected draft denied — `error_code: INVALID_STATE_TRANSITION`\n- `409` suspended cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `422` Invalid name vehicle and document shape\n- `422` Invalid upload attached\n- `422` Invalid upload duplicate\n- `422` Invalid upload foreign — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid upload mime — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid upload size — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid upload storage\n- `422` Invalid upload temporary — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Invalid upload type\n- `422` Invalid upload unknown\n- `500` Draft transaction failed and rolled back — `error_code: INTERNAL_ERROR`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e75a-7161-9366-13a1490a0868\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e784-7200-bbb6-f1fae49fe1d7\",\n            \"vehicle_type\": {\n                \"value\": \"motorbike\",\n                \"label\": \"Motorbike\"\n            },\n            \"make_model\": \"Honda PCX\",\n            \"plate_number\": \"NEW 9876\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e786-7076-8d41-56532e853cb3\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f6e77958-5615-4116-b637-7b2d44f9b87e.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e793-7117-9c2a-71e718064283\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/e2245feb-ca2e-4c81-a864-615b827740be.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e79d-70e0-a35d-b965a4a8735b\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/275bb00f-5b0e-4cd6-8220-736f818b6910.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"full_name\": \"Maha Al Zahrani\",\n    \"national_id\": \"1000001234\",\n    \"vehicle\": {\n        \"vehicle_type\": \"car\",\n        \"make_model\": \"Toyota Yaris\",\n        \"plate_number\": \"أ ب ج 1234\",\n        \"model_year\": 2024,\n        \"color\": \"White\"\n    },\n    \"documents\": [\n        {\n            \"doc_type\": \"driving_license\",\n            \"file\": \"{{media_hash}}\",\n            \"doc_number\": \"1000001234\",\n            \"expires_at\": \"2027-12-31\"\n        }\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Active vehicle updated in place",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Active vehicle updated in place",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "vehicle": {
                                                            "vehicle_type": "motorbike",
                                                            "make_model": "Honda PCX",
                                                            "plate_number": "NEW 9876"
                                                        }
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_vehicle_updated_in_place_and_omitted_fields_preserved"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"vehicle\": {\n        \"vehicle_type\": \"motorbike\",\n        \"make_model\": \"Honda PCX\",\n        \"plate_number\": \"NEW 9876\"\n    }\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e75a-7161-9366-13a1490a0868\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e784-7200-bbb6-f1fae49fe1d7\",\n            \"vehicle_type\": {\n                \"value\": \"motorbike\",\n                \"label\": \"Motorbike\"\n            },\n            \"make_model\": \"Honda PCX\",\n            \"plate_number\": \"NEW 9876\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e786-7076-8d41-56532e853cb3\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f6e77958-5615-4116-b637-7b2d44f9b87e.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e793-7117-9c2a-71e718064283\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/e2245feb-ca2e-4c81-a864-615b827740be.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e79d-70e0-a35d-b965a4a8735b\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/275bb00f-5b0e-4cd6-8220-736f818b6910.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Complete car registration draft",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Complete car registration draft",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Maha Al Zahrani",
                                                        "national_id": "1000001234",
                                                        "vehicle": {
                                                            "vehicle_type": "car",
                                                            "make_model": "Toyota Yaris",
                                                            "plate_number": "أ ب ج 1234",
                                                            "model_year": 2024,
                                                            "color": "White"
                                                        },
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "295def66-52ee-45d0-a932-aa0cc55544ca",
                                                                "doc_number": "1000001234"
                                                            },
                                                            {
                                                                "doc_type": "driving_license",
                                                                "file": "238f151d-5761-4705-bea0-9f76e3c15f73",
                                                                "doc_number": "1000001234"
                                                            },
                                                            {
                                                                "doc_type": "vehicle_registration",
                                                                "file": "c109c507-ae62-4799-853b-3b1e04b09ffe",
                                                                "doc_number": "1000001234"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_happy_path_saves_and_submits_without_activation_fields"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Maha Al Zahrani\",\n    \"national_id\": \"1000001234\",\n    \"vehicle\": {\n        \"vehicle_type\": \"car\",\n        \"make_model\": \"Toyota Yaris\",\n        \"plate_number\": \"أ ب ج 1234\",\n        \"model_year\": 2024,\n        \"color\": \"White\"\n    },\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"295def66-52ee-45d0-a932-aa0cc55544ca\",\n            \"doc_number\": \"1000001234\"\n        },\n        {\n            \"doc_type\": \"driving_license\",\n            \"file\": \"238f151d-5761-4705-bea0-9f76e3c15f73\",\n            \"doc_number\": \"1000001234\"\n        },\n        {\n            \"doc_type\": \"vehicle_registration\",\n            \"file\": \"c109c507-ae62-4799-853b-3b1e04b09ffe\",\n            \"doc_number\": \"1000001234\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e643-715a-abe5-fa70ecd713f8\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e666-71bc-b15c-43dc9df7a8fc\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e66a-704e-9a3e-3e44d0d93bd1\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/295def66-52ee-45d0-a932-aa0cc55544ca.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e66f-7150-8c5c-798b963c99a2\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/238f151d-5761-4705-bea0-9f76e3c15f73.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e673-735b-915a-ae9ecbe3237c\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c109c507-ae62-4799-853b-3b1e04b09ffe.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Complete motorbike registration draft",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Complete motorbike registration draft",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Maha Al Zahrani",
                                                        "national_id": "1000001234",
                                                        "vehicle": {
                                                            "vehicle_type": "motorbike",
                                                            "make_model": "Toyota Yaris",
                                                            "plate_number": "أ ب ج 1234",
                                                            "model_year": 2024,
                                                            "color": "White"
                                                        },
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "2edfa353-be52-49d8-81b0-bb4d5289d6a7",
                                                                "doc_number": "1000001234"
                                                            },
                                                            {
                                                                "doc_type": "driving_license",
                                                                "file": "a933d62d-8153-47c0-9bf3-457df3727ce0",
                                                                "doc_number": "1000001234"
                                                            },
                                                            {
                                                                "doc_type": "vehicle_registration",
                                                                "file": "7def34e6-32b8-444b-9fa9-c586943e7822",
                                                                "doc_number": "1000001234"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_happy_path_saves_and_submits_without_activation_fields"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Maha Al Zahrani\",\n    \"national_id\": \"1000001234\",\n    \"vehicle\": {\n        \"vehicle_type\": \"motorbike\",\n        \"make_model\": \"Toyota Yaris\",\n        \"plate_number\": \"أ ب ج 1234\",\n        \"model_year\": 2024,\n        \"color\": \"White\"\n    },\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"2edfa353-be52-49d8-81b0-bb4d5289d6a7\",\n            \"doc_number\": \"1000001234\"\n        },\n        {\n            \"doc_type\": \"driving_license\",\n            \"file\": \"a933d62d-8153-47c0-9bf3-457df3727ce0\",\n            \"doc_number\": \"1000001234\"\n        },\n        {\n            \"doc_type\": \"vehicle_registration\",\n            \"file\": \"7def34e6-32b8-444b-9fa9-c586943e7822\",\n            \"doc_number\": \"1000001234\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e6cf-7196-a6a1-9f7c5cb963d7\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e6f0-7258-9f8c-fe04f72a8ce7\",\n            \"vehicle_type\": {\n                \"value\": \"motorbike\",\n                \"label\": \"Motorbike\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e6f4-70bb-bbb4-574c93b5384a\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/2edfa353-be52-49d8-81b0-bb4d5289d6a7.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e6f9-71e6-8c38-95933a56b070\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a933d62d-8153-47c0-9bf3-457df3727ce0.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e6fe-70ec-9f98-958e465cdb8b\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/7def34e6-32b8-444b-9fa9-c586943e7822.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 Document replaced with history preserved",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Document replaced with history preserved",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "bd4e5696-c8fc-4bf6-b9b2-87f3918151c6",
                                                                "doc_number": "1999999876"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_replacement_preserves_history_and_provider_documents"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"bd4e5696-c8fc-4bf6-b9b2-87f3918151c6\",\n            \"doc_number\": \"1999999876\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-f957-710d-b782-ccbae0e57137\",\n        \"account_status\": {\n            \"value\": \"incomplete\",\n            \"label\": \"Incomplete\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": null,\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-f97b-707c-ba11-c0d02b30d18a\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-f97d-708e-b3a9-8e9aacf31872\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"replaced\",\n                    \"label\": \"Replaced\"\n                },\n                \"file_url\": \"/storage/onboarding/6f3e44ed-9991-4e55-87dd-5e3e9b17bba9.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f985-71e7-a194-1483abe7c6dc\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/06681223-88ca-4b43-89d2-8ebe9c12b7d6.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f98b-7321-b00b-7e98d85042c4\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c950627a-140c-4968-9aaa-675544fec768.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f9b7-7384-8c08-a1f99d471230\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****9876\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/bd4e5696-c8fc-4bf6-b9b2-87f3918151c6.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 needs_changes draft allowed",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "needs_changes draft allowed",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Corrected name"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Corrected name\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-f44e-7349-9e11-7c061a336344\",\n        \"account_status\": {\n            \"value\": \"needs_changes\",\n            \"label\": \"Changes required\"\n        },\n        \"status_reason\": \"Correct the documents\",\n        \"submitted_at\": \"2026-10-27T06:53:24+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Corrected name\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-f4a2-7350-b9c3-7d2c3f35c0b8\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-f4a4-73ff-9e5d-2d4002fb4adf\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f920a862-c498-4741-846f-3eec77879780.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f4b1-7255-afee-562de87ff843\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/2444f8aa-c7f1-42ab-ae0a-db59d375089b.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f4bd-725f-a297-13fadc0cc328\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/76a2e89c-f19e-4697-aea4-277943cfdb93.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "200 rejected draft allowed",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "rejected draft allowed",
                                                "code": 200,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Corrected name"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Corrected name\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-f73a-714c-87d6-021793a7825d\",\n        \"account_status\": {\n            \"value\": \"rejected\",\n            \"label\": \"Rejected\"\n        },\n        \"status_reason\": \"Correct the documents\",\n        \"submitted_at\": \"2026-10-27T06:53:25+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"waiting\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Corrected name\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-f78f-7213-a3c7-09f85c1ca64e\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-f794-711f-ac25-caa885e0a150\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/587a104d-7e35-414f-822c-ebc216a4cbc8.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f7a4-702e-a66f-1ce995d0b744\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/95a06363-70f0-44be-ad34-d63dd1a30d31.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f7b4-7337-be56-88efb68911df\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/ee97c4dc-bcde-483c-93da-c4788a39ec6a.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": true,\n        \"can_submit\": true\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Maha Al Zahrani\",\n    \"national_id\": \"1000001234\",\n    \"vehicle\": {\n        \"vehicle_type\": \"car\",\n        \"make_model\": \"Toyota Yaris\",\n        \"plate_number\": \"أ ب ج 1234\",\n        \"model_year\": 2024,\n        \"color\": \"White\"\n    },\n    \"documents\": [\n        {\n            \"doc_type\": \"driving_license\",\n            \"file\": \"{{media_hash}}\",\n            \"doc_number\": \"1000001234\",\n            \"expires_at\": \"2027-12-31\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Maha Al Zahrani\",\n    \"national_id\": \"1000001234\",\n    \"vehicle\": {\n        \"vehicle_type\": \"car\",\n        \"make_model\": \"Toyota Yaris\",\n        \"plate_number\": \"أ ب ج 1234\",\n        \"model_year\": 2024,\n        \"color\": \"White\"\n    },\n    \"documents\": [\n        {\n            \"doc_type\": \"driving_license\",\n            \"file\": \"{{media_hash}}\",\n            \"doc_number\": \"1000001234\",\n            \"expires_at\": \"2027-12-31\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 approved cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "approved cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Changed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_edit_and_submit_blocked_in_locked_states"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Changed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"3c58bd4e-b96b-4c3c-92bd-7d6d8213ff2c\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 pending_review cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "pending_review cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Changed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_edit_and_submit_blocked_in_locked_states"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Changed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"cdffd1e5-afb3-4963-8b7f-62b474fb98da\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 rejected draft denied",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "rejected draft denied",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Corrected name"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Corrected name\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Rejected.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"28dbf60d-531d-4b2d-8fb2-9e2106508c85\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 suspended cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "suspended cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Changed"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_edit_and_submit_blocked_in_locked_states"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Changed\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Suspended.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"d28c2792-7e4e-42f6-b0ad-6bbe2730c5f6\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid name vehicle and document shape",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid name vehicle and document shape",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "",
                                                        "vehicle": {
                                                            "vehicle_type": "truck",
                                                            "make_model": "X",
                                                            "model_year": 40000,
                                                            "is_active": true
                                                        },
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "reviewed_by": 1
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_draft_shape_is_a_validation_error"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"\",\n    \"vehicle\": {\n        \"vehicle_type\": \"truck\",\n        \"make_model\": \"X\",\n        \"model_year\": 40000,\n        \"is_active\": true\n    },\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"reviewed_by\": 1\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The full name field is required. (and 6 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"full_name\": [\n                \"The full name field is required.\"\n            ],\n            \"vehicle\": [\n                \"The vehicle field must be an array.\"\n            ],\n            \"vehicle.vehicle_type\": [\n                \"The selected vehicle.vehicle type is invalid.\"\n            ],\n            \"vehicle.plate_number\": [\n                \"The vehicle.plate number field is required when vehicle is present.\"\n            ],\n            \"vehicle.model_year\": [\n                \"The vehicle.model year field must be between -32768 and 32767.\"\n            ],\n            \"documents.0\": [\n                \"The documents.0 field must be an array.\"\n            ],\n            \"documents.0.file\": [\n                \"The documents.0.file field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload attached",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload attached",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "a86a04af-1f60-46b9-b141-46ac87cb7a61"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"a86a04af-1f60-46b9-b141-46ac87cb7a61\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The media file is already associated with another record.\",\n    \"data\": {\n        \"errors\": {\n            \"documents.0.file\": [\n                \"The media file is already associated with another record.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload duplicate",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload duplicate",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "204a3d6c-7f0b-4671-a228-ee086db46f40"
                                                            },
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "204a3d6c-7f0b-4671-a228-ee086db46f40"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"204a3d6c-7f0b-4671-a228-ee086db46f40\"\n        },\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"204a3d6c-7f0b-4671-a228-ee086db46f40\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The documents.0.doc_type field has a duplicate value. (and 3 more errors)\",\n    \"data\": {\n        \"errors\": {\n            \"documents.0.doc_type\": [\n                \"The documents.0.doc_type field has a duplicate value.\"\n            ],\n            \"documents.1.doc_type\": [\n                \"The documents.1.doc_type field has a duplicate value.\"\n            ],\n            \"documents.0.file\": [\n                \"The documents.0.file field has a duplicate value.\"\n            ],\n            \"documents.1.file\": [\n                \"The documents.1.file field has a duplicate value.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload foreign",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload foreign",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "5a4d06ac-d56f-48d4-b0c9-a9a035ae7dd7"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"5a4d06ac-d56f-48d4-b0c9-a9a035ae7dd7\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use your own fresh image/PDF uploads up to 5 MiB and the required document types for this account.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use your own fresh image/PDF uploads up to 5 MiB and the required document types for this account.\"\n            ]\n        },\n        \"correlation_id\": \"a9ed4995-ff73-4fc2-acc9-60c056998502\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload mime",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload mime",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "2557dd5e-9d18-4677-a1ff-5f2ada2871c9"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"2557dd5e-9d18-4677-a1ff-5f2ada2871c9\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use your own fresh image/PDF uploads up to 5 MiB and the required document types for this account.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use your own fresh image/PDF uploads up to 5 MiB and the required document types for this account.\"\n            ]\n        },\n        \"correlation_id\": \"758b6f28-969c-465b-b80c-e2b3a5310fec\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload size",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload size",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "8808adc4-a9f8-460e-a123-117bc20ec8e1"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"8808adc4-a9f8-460e-a123-117bc20ec8e1\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use your own fresh image/PDF uploads up to 5 MiB and the required document types for this account.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use your own fresh image/PDF uploads up to 5 MiB and the required document types for this account.\"\n            ]\n        },\n        \"correlation_id\": \"cba304e7-b70d-4ccc-9392-63134d06734f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload storage",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload storage",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "007c427a-cc64-4484-8377-28a423405faa"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"007c427a-cc64-4484-8377-28a423405faa\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The physical file is missing from storage.\",\n    \"data\": {\n        \"errors\": {\n            \"documents.0.file\": [\n                \"The physical file is missing from storage.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload temporary",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload temporary",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "b56dcb2e-2315-4c66-a0c0-117931b38087"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"b56dcb2e-2315-4c66-a0c0-117931b38087\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Use your own fresh image/PDF uploads up to 5 MiB and the required document types for this account.\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Use your own fresh image/PDF uploads up to 5 MiB and the required document types for this account.\"\n            ]\n        },\n        \"correlation_id\": \"8645e0d0-280f-417e-a50d-3bcc203d5ff0\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload type",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload type",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "professional_certificate",
                                                                "file": "b63551f2-4955-4eeb-93d0-13d60f24295d"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"professional_certificate\",\n            \"file\": \"b63551f2-4955-4eeb-93d0-13d60f24295d\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected documents.0.doc_type is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"documents.0.doc_type\": [\n                \"The selected documents.0.doc_type is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid upload unknown",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Invalid upload unknown",
                                                "code": 422,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must not persist",
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "bd7c55c2-827e-41be-bd29-eb6341234628"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_invalid_uploads_are_rejected_without_draft_writes"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must not persist\",\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"bd7c55c2-827e-41be-bd29-eb6341234628\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The media file was not found.\",\n    \"data\": {\n        \"errors\": {\n            \"documents.0.file\": [\n                \"The media file was not found.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "500 Draft transaction failed and rolled back",
                                            "_joshen": {
                                                "route": "delivery.onboarding.update",
                                                "name": "Draft transaction failed and rolled back",
                                                "code": 500,
                                                "request": {
                                                    "method": "PUT",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding",
                                                    "query": null,
                                                    "body": {
                                                        "full_name": "Must roll back",
                                                        "national_id": "2000009876",
                                                        "vehicle": {
                                                            "vehicle_type": "motorbike",
                                                            "make_model": "Honda",
                                                            "plate_number": "CHANGED"
                                                        },
                                                        "documents": [
                                                            {
                                                                "doc_type": "national_id",
                                                                "file": "10e2ca83-9143-4046-89a0-57392994e6bf"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_draft_rolls_back_on_document_creation_failure"
                                            },
                                            "originalRequest": {
                                                "method": "PUT",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"full_name\": \"Must roll back\",\n    \"national_id\": \"2000009876\",\n    \"vehicle\": {\n        \"vehicle_type\": \"motorbike\",\n        \"make_model\": \"Honda\",\n        \"plate_number\": \"CHANGED\"\n    },\n    \"documents\": [\n        {\n            \"doc_type\": \"national_id\",\n            \"file\": \"10e2ca83-9143-4046-89a0-57392994e6bf\"\n        }\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Internal Server Error",
                                            "code": 500,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"error\",\n    \"message\": \"Internal server error\",\n    \"data\": {\n        \"error_code\": \"INTERNAL_ERROR\",\n        \"correlation_id\": \"dadd49c7-9f7f-436f-8881-d8f44d6ceaef\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Submit",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "onboarding",
                                                "submit"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.onboarding.submit`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` car registration submitted\n- `200` motorbike registration submitted\n- `200` needs_changes submit allowed\n- `200` rejected submit allowed\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Already submitted — `error_code: INVALID_STATE_TRANSITION`\n- `409` approved cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` pending_review cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `409` rejected submit denied — `error_code: INVALID_STATE_TRANSITION`\n- `409` suspended cannot mutate onboarding — `error_code: INVALID_STATE_TRANSITION`\n- `422` Arabic missing registration requirements — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit driving_license date — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit driving_license expired — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit driving_license file — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit driving_license missing — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit driving_license rejected — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit driving_license replaced — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit driving_license role — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit national_id missing — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Cannot submit vehicle_registration missing — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Submission missing full_name — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Submission missing inactive_vehicle — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Submission missing national_id — `error_code: BUSINESS_RULE_VIOLATED`\n- `422` Submission missing vehicle — `error_code: BUSINESS_RULE_VIOLATED`\n- `500` Submission transaction failed and rolled back — `error_code: INTERNAL_ERROR`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e643-715a-abe5-fa70ecd713f8\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:20+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e666-71bc-b15c-43dc9df7a8fc\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e66a-704e-9a3e-3e44d0d93bd1\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/295def66-52ee-45d0-a932-aa0cc55544ca.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e66f-7150-8c5c-798b963c99a2\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/238f151d-5761-4705-bea0-9f76e3c15f73.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e673-735b-915a-ae9ecbe3237c\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c109c507-ae62-4799-853b-3b1e04b09ffe.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 car registration submitted",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "car registration submitted",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_happy_path_saves_and_submits_without_activation_fields"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e643-715a-abe5-fa70ecd713f8\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:20+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e666-71bc-b15c-43dc9df7a8fc\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e66a-704e-9a3e-3e44d0d93bd1\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/295def66-52ee-45d0-a932-aa0cc55544ca.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e66f-7150-8c5c-798b963c99a2\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/238f151d-5761-4705-bea0-9f76e3c15f73.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e673-735b-915a-ae9ecbe3237c\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/c109c507-ae62-4799-853b-3b1e04b09ffe.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 motorbike registration submitted",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "motorbike registration submitted",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_happy_path_saves_and_submits_without_activation_fields"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-e6cf-7196-a6a1-9f7c5cb963d7\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:20+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Maha Al Zahrani\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-e6f0-7258-9f8c-fe04f72a8ce7\",\n            \"vehicle_type\": {\n                \"value\": \"motorbike\",\n                \"label\": \"Motorbike\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-e6f4-70bb-bbb4-574c93b5384a\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/2edfa353-be52-49d8-81b0-bb4d5289d6a7.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e6f9-71e6-8c38-95933a56b070\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/a933d62d-8153-47c0-9bf3-457df3727ce0.pdf\"\n            },\n            {\n                \"id\": \"01a18148-e6fe-70ec-9f98-958e465cdb8b\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/7def34e6-32b8-444b-9fa9-c586943e7822.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 needs_changes submit allowed",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "needs_changes submit allowed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-f44e-7349-9e11-7c061a336344\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:24+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Corrected name\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-f4a2-7350-b9c3-7d2c3f35c0b8\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-f4a4-73ff-9e5d-2d4002fb4adf\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/f920a862-c498-4741-846f-3eec77879780.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f4b1-7255-afee-562de87ff843\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/2444f8aa-c7f1-42ab-ae0a-db59d375089b.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f4bd-725f-a297-13fadc0cc328\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/76a2e89c-f19e-4697-aea4-277943cfdb93.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "200 rejected submit allowed",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "rejected submit allowed",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a18148-f73a-714c-87d6-021793a7825d\",\n        \"account_status\": {\n            \"value\": \"pending_review\",\n            \"label\": \"Pending review\"\n        },\n        \"status_reason\": null,\n        \"submitted_at\": \"2026-10-28T06:53:25+00:00\",\n        \"timeline\": [\n            {\n                \"key\": \"received\",\n                \"label\": \"Application received\",\n                \"state\": \"completed\"\n            },\n            {\n                \"key\": \"verifying_documents\",\n                \"label\": \"Verifying documents\",\n                \"state\": \"current\"\n            },\n            {\n                \"key\": \"activated\",\n                \"label\": \"Account activated\",\n                \"state\": \"waiting\"\n            }\n        ],\n        \"full_name\": \"Corrected name\",\n        \"national_id\": \"****1234\",\n        \"vehicle\": {\n            \"id\": \"01a18148-f78f-7213-a3c7-09f85c1ca64e\",\n            \"vehicle_type\": {\n                \"value\": \"car\",\n                \"label\": \"Car\"\n            },\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"أ ب ج 1234\",\n            \"model_year\": 2024,\n            \"color\": \"White\",\n            \"is_active\": true\n        },\n        \"documents\": [\n            {\n                \"id\": \"01a18148-f794-711f-ac25-caa885e0a150\",\n                \"doc_type\": {\n                    \"value\": \"national_id\",\n                    \"label\": \"National ID / iqama\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/587a104d-7e35-414f-822c-ebc216a4cbc8.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f7a4-702e-a66f-1ce995d0b744\",\n                \"doc_type\": {\n                    \"value\": \"driving_license\",\n                    \"label\": \"Driving license\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/95a06363-70f0-44be-ad34-d63dd1a30d31.pdf\"\n            },\n            {\n                \"id\": \"01a18148-f7b4-7337-be56-88efb68911df\",\n                \"doc_type\": {\n                    \"value\": \"vehicle_registration\",\n                    \"label\": \"Vehicle registration\"\n                },\n                \"doc_number\": \"****1234\",\n                \"expires_at\": null,\n                \"status\": {\n                    \"value\": \"pending\",\n                    \"label\": \"Pending\"\n                },\n                \"file_url\": \"/storage/onboarding/ee97c4dc-bcde-483c-93da-c4788a39ec6a.pdf\"\n            }\n        ],\n        \"missing_for_submission\": [],\n        \"missing_for_activation\": [\n            \"city\",\n            \"districts\",\n            \"photo\",\n            \"birth_date\",\n            \"nationality\",\n            \"payout_account\",\n            \"account_status\"\n        ],\n        \"can_edit\": false,\n        \"can_submit\": false\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Already submitted",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Already submitted",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_double_submit_is_a_conflict"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"ddcef916-b11c-4e6b-802a-6dd23582b9d1\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 approved cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "approved cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_edit_and_submit_blocked_in_locked_states"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Approved.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"53f43677-62df-46f5-b48f-6680c3cbf14b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 pending_review cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "pending_review cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_edit_and_submit_blocked_in_locked_states"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Pending review.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"1943ceae-a2ad-481c-8e16-18adeaeeb1c9\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 rejected submit denied",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "rejected submit denied",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_resubmission_obeys_driver_setting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Rejected.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"be274b2f-4631-49cc-a4c4-df5eff63f756\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 suspended cannot mutate onboarding",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "suspended cannot mutate onboarding",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_edit_and_submit_blocked_in_locked_states"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Onboarding cannot be edited or submitted while the account is Suspended.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"e1f5fe8d-e19a-470c-bf9e-b77df553f0b8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Arabic missing registration requirements",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Arabic missing registration requirements",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "ar",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_arabic_status_and_missing_requirements"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "ar"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"يتطلب إرسال الطلب: رقم الهوية أو الإقامة (national_id), مركبة نشطة بالنوع والموديل ورقم اللوحة (vehicle), صورة الهوية أو الإقامة (documents.national_id), ملف رخصة القيادة (documents.driving_license), ملف استمارة المركبة (documents.vehicle_registration).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"dcba3ce3-08fd-4be2-bf6a-9ebfb2001a11\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit driving_license date",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit driving_license date",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Driving license file (documents.driving_license).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"ad1decdc-d96c-48f6-849d-5415f545e782\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit driving_license expired",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit driving_license expired",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Driving license file (documents.driving_license).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"9d163ebb-f4c7-4740-b545-5b8bb3b967fe\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit driving_license file",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit driving_license file",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Driving license file (documents.driving_license).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"0b278237-6c4b-43e7-b142-db100effdb29\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit driving_license missing",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit driving_license missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Driving license file (documents.driving_license).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"d9fd1486-3853-4093-9dd0-d63fc0072f01\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit driving_license rejected",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit driving_license rejected",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Driving license file (documents.driving_license).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"bc6ed4c3-f7f2-4ef6-b779-bd9805f49d5d\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit driving_license replaced",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit driving_license replaced",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Driving license file (documents.driving_license).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"484483c7-e405-40aa-87cc-7a6b221abf9f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit driving_license role",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit driving_license role",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Driving license file (documents.driving_license).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"59267ab5-7f57-4425-a586-bce026252625\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit national_id missing",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit national_id missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: National ID / iqama file (documents.national_id).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"356d9c1f-3f77-4c4d-aa53-af27413a5c12\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Cannot submit vehicle_registration missing",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Cannot submit vehicle_registration missing",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_or_invalid_document_blocks_submission"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Vehicle registration file (documents.vehicle_registration).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"correlation_id\": \"7f3c7d4f-cc18-4844-8ea6-2f6e7f2f8822\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Submission missing full_name",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Submission missing full_name",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_name_identity_or_active_vehicle_blocks_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Full name (full_name).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Full name (full_name).\"\n            ]\n        },\n        \"correlation_id\": \"78c5789f-b0ec-4346-9040-0beea31884c6\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Submission missing inactive_vehicle",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Submission missing inactive_vehicle",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_name_identity_or_active_vehicle_blocks_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Active vehicle with type, model and plate (vehicle).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Active vehicle with type, model and plate (vehicle).\"\n            ]\n        },\n        \"correlation_id\": \"5bfc2325-9d68-4c52-9a05-7e351f88060f\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Submission missing national_id",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Submission missing national_id",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_name_identity_or_active_vehicle_blocks_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: National ID / iqama number (national_id).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: National ID / iqama number (national_id).\"\n            ]\n        },\n        \"correlation_id\": \"60461049-1cc8-4aa0-9dc6-8bae5b659cad\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Submission missing vehicle",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Submission missing vehicle",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_002_missing_name_identity_or_active_vehicle_blocks_submit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Submission requires: Active vehicle with type, model and plate (vehicle).\",\n    \"data\": {\n        \"error_code\": \"BUSINESS_RULE_VIOLATED\",\n        \"context\": {\n            \"violations\": [\n                \"Submission requires: Active vehicle with type, model and plate (vehicle).\"\n            ]\n        },\n        \"correlation_id\": \"c296ae6e-9bff-4b87-bd92-371f894b5229\"\n    }\n}"
                                        },
                                        {
                                            "name": "500 Submission transaction failed and rolled back",
                                            "_joshen": {
                                                "route": "delivery.onboarding.submit",
                                                "name": "Submission transaction failed and rolled back",
                                                "code": 500,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/onboarding/submit",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\OnboardingTest::test_ac_driv_003_submit_rolls_back_on_event_failure"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/onboarding/submit",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "onboarding",
                                                        "submit"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Internal Server Error",
                                            "code": 500,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"error\",\n    \"message\": \"Internal server error\",\n    \"data\": {\n        \"error_code\": \"INTERNAL_ERROR\",\n        \"correlation_id\": \"e6a6537a-a0dc-45dd-920f-fec35bcd8edc\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Support",
                            "item": [
                                {
                                    "name": "Reasons",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/support/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "support",
                                                "reasons"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.support.reasons`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Reasons for my app\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\",\n                \"label\": \"Sample-xcmk05591329\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a9d-70f4-969e-18ed4205347a\",\n                \"label\": \"Incident or Safety Problem During a Trip\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1aa3-7346-bc89-62a24d469221\",\n                \"label\": \"Provider or Customer Unreachable\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1aa7-71d3-83d6-7cd1021763ef\",\n                \"label\": \"Trip Problem or Dispute\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1aab-7289-a16e-1dacbdb95c29\",\n                \"label\": \"Payout or Transfer Issue\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1aae-7088-9921-9a6ebc791125\",\n                \"label\": \"App or Account Problem\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1ab3-72f4-9ca6-830fb50f3ade\",\n                \"label\": \"General Inquiry or Help\",\n                \"is_urgent\": false\n            }\n        ]\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Reasons for my app",
                                            "_joshen": {
                                                "route": "delivery.support.reasons",
                                                "name": "Reasons for my app",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/reasons",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\",\n                \"label\": \"Sample-xcmk05591329\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1a9d-70f4-969e-18ed4205347a\",\n                \"label\": \"Incident or Safety Problem During a Trip\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1aa3-7346-bc89-62a24d469221\",\n                \"label\": \"Provider or Customer Unreachable\",\n                \"is_urgent\": true\n            },\n            {\n                \"id\": \"01a1c0dd-1aa7-71d3-83d6-7cd1021763ef\",\n                \"label\": \"Trip Problem or Dispute\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1aab-7289-a16e-1dacbdb95c29\",\n                \"label\": \"Payout or Transfer Issue\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1aae-7088-9921-9a6ebc791125\",\n                \"label\": \"App or Account Problem\",\n                \"is_urgent\": false\n            },\n            {\n                \"id\": \"01a1c0dd-1ab3-72f4-9ca6-830fb50f3ade\",\n                \"label\": \"General Inquiry or Help\",\n                \"is_urgent\": false\n            }\n        ]\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/reasons",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "reasons"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "support",
                                                "tickets"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "replied",
                                                    "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.support.tickets.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed` (optional)\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `ticket_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` My requests\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c0dd-2edb-705d-a7bf-234f796f0780\",\n                \"code\": \"SUP-1013\",\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\",\n                    \"label\": \"Sample-xcmk05591329\"\n                },\n                \"body\": \"I need help with an order\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"has_media\": false,\n                \"order\": null,\n                \"trip\": null,\n                \"can_reply\": true,\n                \"created_at\": \"2026-11-09T15:11:23+00:00\",\n                \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/delivery/support/tickets?page=1\",\n            \"last\": \"http://localhost/api/v1/delivery/support/tickets?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/delivery/support/tickets?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/delivery/support/tickets\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 My requests",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.index",
                                                "name": "My requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a1c0dd-2edb-705d-a7bf-234f796f0780\",\n                \"code\": \"SUP-1013\",\n                \"status\": {\n                    \"value\": \"under_review\",\n                    \"label\": \"Under review\"\n                },\n                \"priority\": {\n                    \"value\": \"normal\",\n                    \"label\": \"Normal\"\n                },\n                \"reason\": {\n                    \"id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\",\n                    \"label\": \"Sample-xcmk05591329\"\n                },\n                \"body\": \"I need help with an order\",\n                \"attachments\": [\n                    \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n                ],\n                \"has_media\": false,\n                \"order\": null,\n                \"trip\": null,\n                \"can_reply\": true,\n                \"created_at\": \"2026-11-09T15:11:23+00:00\",\n                \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n                \"closed_at\": null\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/delivery/support/tickets?page=1\",\n            \"last\": \"http://localhost/api/v1/delivery/support/tickets?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/delivery/support/tickets?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/delivery/support/tickets\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "replied",
                                                            "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "replied",
                                                            "description": "Ticket status: under_review, replied or closed. — `string (enum)`, one of: `under_review`, `replied`, `closed`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": {
                                                        "filters": {
                                                            "status": "open"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets?filters[status]=open",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "open"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "support",
                                                "tickets"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.support.tickets.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, throttle:support-ticket`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `reason_id`\n- **Description:** Contact or complaint reason (uuid) from `GET support/reasons` for the caller's app; an urgent reason makes the ticket urgent (DEC-21).\n- **Type:** `string (uuid)`\n- **Refers to:** a `support_reasons` record — send its uuid `id` (TD-19)\n- **Required:** required\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `required|uuid|exists:support_reasons,uuid`\n- `required` — must be provided.\n- `uuid` — must be a uuid.\n- `exists:support_reasons,uuid` — must reference an existing record (support_reasons, uuid).\n### `body`\n- **Description:** Explanatory text, 3–4000 characters.\n- **Type:** `string`\n- **Required:** required\n- **Example:** `The specialist did not arrive at the booked time.`\n- **Validation rules:** `required|string|min:3|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:3` — must be at least 3.\n- `max:4000` — must not exceed 4000.\n### `order_id`\n- **Description:** Customer and provider apps: optional order (uuid) the request is about; it must be one of her own. Not accepted by the driver app.\n- **Type:** `string (uuid)`\n- **Required:** optional\n- **Example:** `0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55`\n- **Validation rules:** `sometimes|nullable|uuid`\n- `sometimes` — validated only when the field is present.\n- `nullable` — may be null.\n- `uuid` — must be a uuid.\n### `trip_id`\n- **Description:** Driver app only: optional trip (uuid) the request is about; it must be one of her own (DRIV-019). Not accepted by the other apps.\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `null`\n- **Validation rules:** `prohibited`\n- `prohibited` — must not be sent.\n### `attachments`\n- **Description:** Optional files (at most 5) uploaded first through the media endpoint.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `sometimes|array|list|max:5`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:5` — must not exceed 5.\n### `attachments.*`\n- **Description:** Media hash returned by the upload endpoint; an image, a video or a document.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n- Saves `ticket_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Request linked to my trip\n- `201` Request sent\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Trip is not mine\n- `422` Missing text\n- `422` Order link not accepted\n- `422` Reason not available — `error_code: SUPPORT_REASON_INVALID`\n- `429` Too many requests — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your request was sent to the support team.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2be5-701b-ada5-86466949d8d8\",\n        \"code\": \"SUP-1007\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"urgent\",\n            \"label\": \"Urgent\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2bc5-724a-8a69-303df68d5fda\",\n            \"label\": \"Sample-igqs14022827\"\n        },\n        \"body\": \"The customer was not at the address\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": {\n            \"id\": \"01a1c0dd-2bc8-72bb-b948-f3baf02b03f8\",\n            \"code\": \"TRP-mxab08479703\"\n        },\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:22+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:22+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Request linked to my trip",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.store",
                                                "name": "Request linked to my trip",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2bc5-724a-8a69-303df68d5fda",
                                                        "body": "The customer was not at the address",
                                                        "trip_id": "01a1c0dd-2bc8-72bb-b948-f3baf02b03f8"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_ac_driv_019_a_pending_driver_can_open_an_urgent_request_linked_to_her_own_trip"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2bc5-724a-8a69-303df68d5fda\",\n    \"body\": \"The customer was not at the address\",\n    \"trip_id\": \"01a1c0dd-2bc8-72bb-b948-f3baf02b03f8\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your request was sent to the support team.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2be5-701b-ada5-86466949d8d8\",\n        \"code\": \"SUP-1007\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"urgent\",\n            \"label\": \"Urgent\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2bc5-724a-8a69-303df68d5fda\",\n            \"label\": \"Sample-igqs14022827\"\n        },\n        \"body\": \"The customer was not at the address\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": {\n            \"id\": \"01a1c0dd-2bc8-72bb-b948-f3baf02b03f8\",\n            \"code\": \"TRP-mxab08479703\"\n        },\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:22+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:22+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "201 Request sent",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.store",
                                                "name": "Request sent",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2ec3-72fe-b59e-ba6661724c8e",
                                                        "body": "I need help with an order"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\",\n    \"body\": \"I need help with an order\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your request was sent to the support team.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2edb-705d-a7bf-234f796f0780\",\n        \"code\": \"SUP-1013\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\",\n            \"label\": \"Sample-xcmk05591329\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"body\": \"The specialist did not arrive at the booked time.\",\n    \"order_id\": \"0198a1c4-7b52-7c3e-9d0f-3f6a2b1c8e55\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Trip is not mine",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.store",
                                                "name": "Trip is not mine",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2c18-716d-800c-3952a185034c",
                                                        "body": "Help",
                                                        "trip_id": "01a1c0dd-2c1e-70c1-be3a-80636d91aa44"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_ac_driv_019_another_drivers_trip_is_a_404_and_an_order_or_unknown_field_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2c18-716d-800c-3952a185034c\",\n    \"body\": \"Help\",\n    \"trip_id\": \"01a1c0dd-2c1e-70c1-be3a-80636d91aa44\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Resource not found\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "422 Missing text",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.store",
                                                "name": "Missing text",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2ec3-72fe-b59e-ba6661724c8e"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Order link not accepted",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.store",
                                                "name": "Order link not accepted",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2c18-716d-800c-3952a185034c",
                                                        "body": "Help",
                                                        "order_id": "01a1c0dd-2c42-70c3-9463-367454c9472d"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_ac_driv_019_another_drivers_trip_is_a_404_and_an_order_or_unknown_field_is_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2c18-716d-800c-3952a185034c\",\n    \"body\": \"Help\",\n    \"order_id\": \"01a1c0dd-2c42-70c3-9463-367454c9472d\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The order id field is prohibited.\",\n    \"data\": {\n        \"errors\": {\n            \"order_id\": [\n                \"The order id field is prohibited.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Reason not available",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.store",
                                                "name": "Reason not available",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": null,
                                                    "body": {
                                                        "reason_id": "01a1c0dd-2f16-71fb-a15f-0019038d538d",
                                                        "body": "Help"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"reason_id\": \"01a1c0dd-2f16-71fb-a15f-0019038d538d\",\n    \"body\": \"Help\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The chosen reason is not available.\",\n    \"data\": {\n        \"error_code\": \"SUPPORT_REASON_INVALID\",\n        \"correlation_id\": \"f6569f88-a63f-4c9d-9239-01beb5f98347\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many requests",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.store",
                                                "name": "Too many requests",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"ticket_id\",\"Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"ticket_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/support/tickets/:ticket",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "support",
                                                "tickets",
                                                ":ticket"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.support.tickets.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{ticket_id}}` — Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `ticket_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Request with its thread\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2edb-705d-a7bf-234f796f0780\",\n        \"code\": \"SUP-1013\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\",\n            \"label\": \"Sample-xcmk05591329\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Request with its thread",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.show",
                                                "name": "Request with its thread",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2edb-705d-a7bf-234f796f0780"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2edb-705d-a7bf-234f796f0780\",\n        \"code\": \"SUP-1013\",\n        \"status\": {\n            \"value\": \"under_review\",\n            \"label\": \"Under review\"\n        },\n        \"priority\": {\n            \"value\": \"normal\",\n            \"label\": \"Normal\"\n        },\n        \"reason\": {\n            \"id\": \"01a1c0dd-2ec3-72fe-b59e-ba6661724c8e\",\n            \"label\": \"Sample-xcmk05591329\"\n        },\n        \"body\": \"I need help with an order\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"order\": null,\n        \"trip\": null,\n        \"can_reply\": true,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\",\n        \"updated_at\": \"2026-11-09T15:11:23+00:00\",\n        \"closed_at\": null,\n        \"messages\": []\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/:ticket",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        ":ticket"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "ticket_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "ticket_id",
                                                "set_by": [
                                                    "client.support.tickets.index",
                                                    "client.support.tickets.store",
                                                    "client.support.tickets.show",
                                                    "provider.support.tickets.index",
                                                    "provider.support.tickets.store",
                                                    "provider.support.tickets.show",
                                                    "delivery.support.tickets.index",
                                                    "delivery.support.tickets.store",
                                                    "delivery.support.tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reply",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"ticket_id\",\"Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"],[\"media_hash\",\"Saved by POST /media, POST /api/v1/media.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/support/tickets/:ticket/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "support",
                                                "tickets",
                                                ":ticket",
                                                "messages"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "ticket",
                                                    "value": "{{ticket_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.support.tickets.reply`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, throttle:support-ticket`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `body`\n- **Description:** Follow-up text, up to 4000 characters. A closed ticket refuses it (409).\n- **Type:** `string`\n- **Required:** required\n- **Example:** `Attaching the booking screenshot.`\n- **Validation rules:** `required|string|min:1|max:4000`\n- `required` — must be provided.\n- `string` — must be text.\n- `min:1` — must be at least 1.\n- `max:4000` — must not exceed 4000.\n### `attachments`\n- **Description:** Optional files (at most 5) uploaded first through the media endpoint.\n- **Type:** `array`\n- **Required:** optional\n- **Example:** `[\"{{media_hash}}\"]`\n- **Validation rules:** `sometimes|array|list|max:5`\n- `sometimes` — validated only when the field is present.\n- `array` — must be an array.\n- `list` — custom validation rule.\n- `max:5` — must not exceed 5.\n### `attachments.*`\n- **Description:** Media hash returned by the upload endpoint; an image, a video or a document.\n- **Type:** `string (media hash)`\n- **Refers to:** an uploaded file — send the `hash` returned by the media upload endpoint\n- **Required:** required\n- **Example:** `{{media_hash}}`\n- **Validation rules:** `required|string|distinct|custom:MediaExists`\n- `required` — must be provided.\n- `string` — must be text.\n- `distinct` — must not repeat a value.\n- `custom:MediaExists` — must be the hash of a file you uploaded with an allowed type.\n\n**Variables:**\n- Uses `{{ticket_id}}` — Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Uses `{{media_hash}}` — Saved by POST /media, POST /api/v1/media.\n\n**Responses:**\n- `201` Follow-up added\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` Request is closed — `error_code: SUPPORT_TICKET_CLOSED`\n- `422` Empty follow-up\n- `429` Too many follow-ups — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Your message was added.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2f08-7316-8718-bb30ba045ee7\",\n        \"sender\": {\n            \"value\": \"user\",\n            \"label\": \"You\"\n        },\n        \"body\": \"Any news?\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Follow-up added",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.reply",
                                                "name": "Follow-up added",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Any news?"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2edb-705d-a7bf-234f796f0780",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Any news?\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Your message was added.\",\n    \"data\": {\n        \"id\": \"01a1c0dd-2f08-7316-8718-bb30ba045ee7\",\n        \"sender\": {\n            \"value\": \"user\",\n            \"label\": \"You\"\n        },\n        \"body\": \"Any news?\",\n        \"attachments\": [\n            \"https://ui-avatars.com/api/?name=N&background=f3f4f6&color=9ca3af&size=200\"\n        ],\n        \"has_media\": false,\n        \"created_at\": \"2026-11-09T15:11:23+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/:ticket/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        ":ticket",
                                                        "messages"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "ticket",
                                                            "value": "{{ticket_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Attaching the booking screenshot.\",\n    \"attachments\": [\n        \"{{media_hash}}\"\n    ]\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 Request is closed",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.reply",
                                                "name": "Request is closed",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2edb-705d-a7bf-234f796f0780",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This request is closed. Please open a new one.\",\n    \"data\": {\n        \"error_code\": \"SUPPORT_TICKET_CLOSED\",\n        \"correlation_id\": \"53c11abb-272c-49d8-991a-00add60fcf82\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Empty follow-up",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.reply",
                                                "name": "Empty follow-up",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780/messages",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2edb-705d-a7bf-234f796f0780",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The body field is required.\",\n    \"data\": {\n        \"errors\": {\n            \"body\": [\n                \"The body field is required.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many follow-ups",
                                            "_joshen": {
                                                "route": "delivery.support.tickets.reply",
                                                "name": "Too many follow-ups",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780/messages",
                                                    "query": null,
                                                    "body": {
                                                        "body": "Again"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Shared\\SupportTicketTest::test_support_answers_the_same_contract_on_both_apps"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/support/tickets/01a1c0dd-2edb-705d-a7bf-234f796f0780/messages",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "support",
                                                        "tickets",
                                                        "01a1c0dd-2edb-705d-a7bf-234f796f0780",
                                                        "messages"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"body\": \"Again\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "ticket_id",
                                                "set_by": [
                                                    "client.support.tickets.index",
                                                    "client.support.tickets.store",
                                                    "client.support.tickets.show",
                                                    "provider.support.tickets.index",
                                                    "provider.support.tickets.store",
                                                    "provider.support.tickets.show",
                                                    "delivery.support.tickets.index",
                                                    "delivery.support.tickets.store",
                                                    "delivery.support.tickets.show"
                                                ],
                                                "how": "Saved by GET /api/v1/client/support/tickets, POST /api/v1/client/support/tickets, GET /api/v1/client/support/tickets/{ticket}, GET /api/v1/provider/support/tickets, POST /api/v1/provider/support/tickets, GET /api/v1/provider/support/tickets/{ticket}, GET /api/v1/delivery/support/tickets, POST /api/v1/delivery/support/tickets, GET /api/v1/delivery/support/tickets/{ticket}."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            },
                                            {
                                                "name": "media_hash",
                                                "set_by": [
                                                    "shared.media.store",
                                                    "shared.media.upload"
                                                ],
                                                "how": "Saved by POST /media, POST /api/v1/media."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Home",
                            "item": [
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "home"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.home.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver home\n- `200` Driver home with overall rating\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"verified\": false,\n        \"availability\": {\n            \"is_available\": true,\n            \"can_go_online\": true,\n            \"reason\": null,\n            \"has_active_vehicle\": false\n        },\n        \"banners\": [],\n        \"pending_offers\": {\n            \"count\": 0,\n            \"items\": []\n        },\n        \"current_trip\": null,\n        \"today\": {\n            \"trips_completed\": 0,\n            \"earnings_net\": \"0.00\",\n            \"rating\": null\n        },\n        \"rating\": {\n            \"average\": null,\n            \"count\": 0\n        },\n        \"amounts_due\": {\n            \"due\": \"0.00\",\n            \"awaiting_transfer\": \"0.00\",\n            \"transferred\": \"0.00\",\n            \"commission_deducted\": \"0.00\"\n        },\n        \"notifications\": {\n            \"unread_count\": 0,\n            \"latest\": []\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver home",
                                            "_joshen": {
                                                "route": "delivery.home.show",
                                                "name": "Driver home",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/delivery/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\HomeTest::test_ac_driv_005_driver_without_a_vehicle_can_go_online"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"verified\": false,\n        \"availability\": {\n            \"is_available\": true,\n            \"can_go_online\": true,\n            \"reason\": null,\n            \"has_active_vehicle\": false\n        },\n        \"banners\": [],\n        \"pending_offers\": {\n            \"count\": 0,\n            \"items\": []\n        },\n        \"current_trip\": null,\n        \"today\": {\n            \"trips_completed\": 0,\n            \"earnings_net\": \"0.00\",\n            \"rating\": null\n        },\n        \"rating\": {\n            \"average\": null,\n            \"count\": 0\n        },\n        \"amounts_due\": {\n            \"due\": \"0.00\",\n            \"awaiting_transfer\": \"0.00\",\n            \"transferred\": \"0.00\",\n            \"commission_deducted\": \"0.00\"\n        },\n        \"notifications\": {\n            \"unread_count\": 0,\n            \"latest\": []\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Driver home with overall rating",
                                            "_joshen": {
                                                "route": "delivery.home.show",
                                                "name": "Driver home with overall rating",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en-us,en;q=0.5",
                                                    "path": "api/v1/delivery/home",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\HomeTest::test_td_172_home_shows_the_overall_visible_rating"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en-us,en;q=0.5"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"تم جلب البيانات بنجاح\",\n    \"data\": {\n        \"verified\": false,\n        \"availability\": {\n            \"is_available\": false,\n            \"can_go_online\": true,\n            \"reason\": null,\n            \"has_active_vehicle\": false\n        },\n        \"banners\": [],\n        \"pending_offers\": {\n            \"count\": 0,\n            \"items\": []\n        },\n        \"current_trip\": null,\n        \"today\": {\n            \"trips_completed\": 0,\n            \"earnings_net\": \"0.00\",\n            \"rating\": null\n        },\n        \"rating\": {\n            \"average\": \"4.50\",\n            \"count\": 12\n        },\n        \"amounts_due\": {\n            \"due\": \"0.00\",\n            \"awaiting_transfer\": \"0.00\",\n            \"transferred\": \"0.00\",\n            \"commission_deducted\": \"0.00\"\n        },\n        \"notifications\": {\n            \"unread_count\": 0,\n            \"latest\": []\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/home",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "home"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Ratings",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/ratings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "ratings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[stars]",
                                                    "value": "5",
                                                    "description": "Only ratings with this many stars; the summary is unaffected. — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.ratings.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[stars]` — Only ratings with this many stars; the summary is unaffected. — `integer` (optional)\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` No ratings yet\n- `200` Ratings she received\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Stars out of range\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"summary\": {\n            \"average\": null,\n            \"count\": 0,\n            \"distribution\": {\n                \"5\": 0,\n                \"4\": 0,\n                \"3\": 0,\n                \"2\": 0,\n                \"1\": 0\n            }\n        },\n        \"reviews\": {\n            \"data\": [],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                \"last\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": null,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/delivery/ratings\",\n                \"per_page\": 15,\n                \"to\": null,\n                \"total\": 0\n            }\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 No ratings yet",
                                            "_joshen": {
                                                "route": "delivery.ratings.index",
                                                "name": "No ratings yet",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/ratings",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\DriverRatingHistoryTest::test_an_empty_history_returns_zero_counts_and_the_stars_filter_narrows_the_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/ratings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "ratings"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"summary\": {\n            \"average\": null,\n            \"count\": 0,\n            \"distribution\": {\n                \"5\": 0,\n                \"4\": 0,\n                \"3\": 0,\n                \"2\": 0,\n                \"1\": 0\n            }\n        },\n        \"reviews\": {\n            \"data\": [],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                \"last\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": null,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/delivery/ratings\",\n                \"per_page\": 15,\n                \"to\": null,\n                \"total\": 0\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "200 Ratings she received",
                                            "_joshen": {
                                                "route": "delivery.ratings.index",
                                                "name": "Ratings she received",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/ratings",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\DriverRatingHistoryTest::test_she_sees_only_her_own_visible_ratings_without_private_notes"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/ratings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "ratings"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"summary\": {\n            \"average\": \"4.00\",\n            \"count\": 2,\n            \"distribution\": {\n                \"5\": 1,\n                \"4\": 0,\n                \"3\": 1,\n                \"2\": 0,\n                \"1\": 0\n            }\n        },\n        \"reviews\": {\n            \"data\": [\n                {\n                    \"id\": \"01a1c0e1-0f41-7384-a955-a62b9dd9ebc0\",\n                    \"stars\": 3,\n                    \"comment\": null,\n                    \"tags\": [],\n                    \"trip\": {\n                        \"id\": \"01a1c0e1-0f3f-7142-9498-1f0d26a1da31\",\n                        \"code\": \"TRP-fysm65728470\"\n                    },\n                    \"provider\": {\n                        \"name\": \"Alexandra Shields\"\n                    },\n                    \"created_at\": \"2026-11-09T15:15:37+00:00\"\n                },\n                {\n                    \"id\": \"01a1c0e1-0f17-727c-8a79-6da4ac5e0985\",\n                    \"stars\": 5,\n                    \"comment\": \"Punctual\",\n                    \"tags\": [],\n                    \"trip\": {\n                        \"id\": \"01a1c0e1-0f10-7040-9ed9-eeaf19ddc526\",\n                        \"code\": \"TRP-pqra95441175\"\n                    },\n                    \"provider\": {\n                        \"name\": \"Edwina Ward\"\n                    },\n                    \"created_at\": \"2026-11-09T15:15:37+00:00\"\n                }\n            ],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                \"last\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": 1,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/delivery/ratings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/delivery/ratings\",\n                \"per_page\": 15,\n                \"to\": 2,\n                \"total\": 2\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/ratings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "ratings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "5",
                                                            "description": "Only ratings with this many stars; the summary is unaffected. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/ratings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "ratings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "5",
                                                            "description": "Only ratings with this many stars; the summary is unaffected. — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Stars out of range",
                                            "_joshen": {
                                                "route": "delivery.ratings.index",
                                                "name": "Stars out of range",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/ratings",
                                                    "query": {
                                                        "filters": {
                                                            "stars": "9"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\DriverRatingHistoryTest::test_an_empty_history_returns_zero_counts_and_the_stars_filter_narrows_the_list"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/ratings?filters[stars]=9",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "ratings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[stars]",
                                                            "value": "9"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The filters.stars field must be between 1 and 5.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.stars\": [\n                \"The filters.stars field must be between 1 and 5.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Earnings",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/earnings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "earnings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "available",
                                                    "description": "Earning status: pending, available (can be requested), in_payout (claimed by a transfer request), paid (transferred) or reversed (order cancelled or refunded). — `string (enum)`, one of: `pending`, `available`, `in_payout`, `paid`, `reversed`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[source_type]",
                                                    "value": "order",
                                                    "description": "What produced the amount: order, package_session, trip, cancellation_fee, subscription_deduction (featured plan paid from earnings, negative) or adjustment. — `string (enum)`, one of: `order`, `package_session`, `trip`, `cancellation_fee`, `subscription_deduction`, `adjustment`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.earnings.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Earning status: pending, available (can be requested), in_payout (claimed by a transfer request), paid (transferred) or reversed (order cancelled or refunded). — `string (enum)`, one of: `pending`, `available`, `in_payout`, `paid`, `reversed` (optional)\n- `filters[source_type]` — What produced the amount: order, package_session, trip, cancellation_fee, subscription_deduction (featured plan paid from earnings, negative) or adjustment. — `string (enum)`, one of: `order`, `package_session`, `trip`, `cancellation_fee`, `subscription_deduction`, `adjustment` (optional)\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Totals and trip earnings\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown source filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"totals\": {\n            \"due\": \"22.50\",\n            \"awaiting_transfer\": \"0.00\",\n            \"transferred\": \"20.00\",\n            \"commission_deducted\": \"2.50\"\n        },\n        \"earnings\": {\n            \"data\": [\n                {\n                    \"id\": \"01a19b8f-eff4-7184-8996-14d4c83ca1f5\",\n                    \"source_type\": {\n                        \"value\": \"trip\",\n                        \"label\": \"Delivery\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-efe1-7171-8f03-c0f5eea4bcf6\",\n                        \"code\": \"JSH-nemz28807319\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"20.00\",\n                    \"commission_rate\": \"0.00\",\n                    \"commission_amount\": \"0.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"20.00\",\n                    \"status\": {\n                        \"value\": \"paid\",\n                        \"label\": \"Transferred\"\n                    },\n                    \"available_at\": null,\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                },\n                {\n                    \"id\": \"01a19b8f-efdb-71a5-bbae-f04f58e5c048\",\n                    \"source_type\": {\n                        \"value\": \"trip\",\n                        \"label\": \"Delivery\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-efcd-7158-b670-c429ec001261\",\n                        \"code\": \"JSH-thhp99630499\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"25.00\",\n                    \"commission_rate\": \"10.00\",\n                    \"commission_amount\": \"2.50\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"22.50\",\n                    \"status\": {\n                        \"value\": \"available\",\n                        \"label\": \"Available\"\n                    },\n                    \"available_at\": \"2026-11-02T09:21:03+00:00\",\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                }\n            ],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/delivery/earnings?page=1\",\n                \"last\": \"http://localhost/api/v1/delivery/earnings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": 1,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/delivery/earnings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/delivery/earnings\",\n                \"per_page\": 15,\n                \"to\": 2,\n                \"total\": 2\n            }\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Totals and trip earnings",
                                            "_joshen": {
                                                "route": "delivery.earnings.index",
                                                "name": "Totals and trip earnings",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/earnings",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\EarningPayoutTest::test_ac_driv_017_earnings_list_shows_trip_rows_gross_commission_net_and_totals"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/earnings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "earnings"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"totals\": {\n            \"due\": \"22.50\",\n            \"awaiting_transfer\": \"0.00\",\n            \"transferred\": \"20.00\",\n            \"commission_deducted\": \"2.50\"\n        },\n        \"earnings\": {\n            \"data\": [\n                {\n                    \"id\": \"01a19b8f-eff4-7184-8996-14d4c83ca1f5\",\n                    \"source_type\": {\n                        \"value\": \"trip\",\n                        \"label\": \"Delivery\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-efe1-7171-8f03-c0f5eea4bcf6\",\n                        \"code\": \"JSH-nemz28807319\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"20.00\",\n                    \"commission_rate\": \"0.00\",\n                    \"commission_amount\": \"0.00\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"20.00\",\n                    \"status\": {\n                        \"value\": \"paid\",\n                        \"label\": \"Transferred\"\n                    },\n                    \"available_at\": null,\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                },\n                {\n                    \"id\": \"01a19b8f-efdb-71a5-bbae-f04f58e5c048\",\n                    \"source_type\": {\n                        \"value\": \"trip\",\n                        \"label\": \"Delivery\"\n                    },\n                    \"order\": {\n                        \"id\": \"01a19b8f-efcd-7158-b670-c429ec001261\",\n                        \"code\": \"JSH-thhp99630499\",\n                        \"completed_at\": null\n                    },\n                    \"trip\": null,\n                    \"gross_amount\": \"25.00\",\n                    \"commission_rate\": \"10.00\",\n                    \"commission_amount\": \"2.50\",\n                    \"delivery_fee_amount\": \"0.00\",\n                    \"net_amount\": \"22.50\",\n                    \"status\": {\n                        \"value\": \"available\",\n                        \"label\": \"Available\"\n                    },\n                    \"available_at\": \"2026-11-02T09:21:03+00:00\",\n                    \"payout\": null,\n                    \"created_at\": \"2026-11-02T09:21:03+00:00\"\n                }\n            ],\n            \"links\": {\n                \"first\": \"http://localhost/api/v1/delivery/earnings?page=1\",\n                \"last\": \"http://localhost/api/v1/delivery/earnings?page=1\",\n                \"prev\": null,\n                \"next\": null\n            },\n            \"meta\": {\n                \"current_page\": 1,\n                \"from\": 1,\n                \"last_page\": 1,\n                \"links\": [\n                    {\n                        \"url\": null,\n                        \"label\": \"&laquo; Previous\",\n                        \"page\": null,\n                        \"active\": false\n                    },\n                    {\n                        \"url\": \"http://localhost/api/v1/delivery/earnings?page=1\",\n                        \"label\": \"1\",\n                        \"page\": 1,\n                        \"active\": true\n                    },\n                    {\n                        \"url\": null,\n                        \"label\": \"Next &raquo;\",\n                        \"page\": null,\n                        \"active\": false\n                    }\n                ],\n                \"path\": \"http://localhost/api/v1/delivery/earnings\",\n                \"per_page\": 15,\n                \"to\": 2,\n                \"total\": 2\n            }\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/earnings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "earnings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "available",
                                                            "description": "Earning status: pending, available (can be requested), in_payout (claimed by a transfer request), paid (transferred) or reversed (order cancelled or refunded). — `string (enum)`, one of: `pending`, `available`, `in_payout`, `paid`, `reversed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[source_type]",
                                                            "value": "order",
                                                            "description": "What produced the amount: order, package_session, trip, cancellation_fee, subscription_deduction (featured plan paid from earnings, negative) or adjustment. — `string (enum)`, one of: `order`, `package_session`, `trip`, `cancellation_fee`, `subscription_deduction`, `adjustment`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/earnings",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "earnings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "available",
                                                            "description": "Earning status: pending, available (can be requested), in_payout (claimed by a transfer request), paid (transferred) or reversed (order cancelled or refunded). — `string (enum)`, one of: `pending`, `available`, `in_payout`, `paid`, `reversed`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[source_type]",
                                                            "value": "order",
                                                            "description": "What produced the amount: order, package_session, trip, cancellation_fee, subscription_deduction (featured plan paid from earnings, negative) or adjustment. — `string (enum)`, one of: `order`, `package_session`, `trip`, `cancellation_fee`, `subscription_deduction`, `adjustment`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown source filter",
                                            "_joshen": {
                                                "route": "delivery.earnings.index",
                                                "name": "Unknown source filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/earnings",
                                                    "query": {
                                                        "filters": {
                                                            "source_type": "nope"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\EarningPayoutTest::test_ac_driv_017_earnings_list_shows_trip_rows_gross_commission_net_and_totals"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/earnings?filters[source_type]=nope",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "earnings"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[source_type]",
                                                            "value": "nope"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.source type is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.source_type\": [\n                \"The selected filters.source type is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Payouts",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"payout_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/payouts",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "payouts"
                                            ],
                                            "query": [
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Rows per page, 1–100; default 15. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "filters[status]",
                                                    "value": "paid",
                                                    "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.payouts.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `page` — Page number. — `integer` (optional)\n- `per_page` — Rows per page, 1–100; default 15. — `integer` (optional)\n- `filters[status]` — Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled` (optional)\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `payout_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` My transfer requests\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Unknown status filter\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a19b8f-f095-7040-b929-f1bbe3d2a3b7\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"amount\": \"60.00\",\n                \"earnings_count\": 1,\n                \"payout_account\": {\n                    \"id\": \"01a19b8f-f05c-7325-83ed-96af7b252d8b\",\n                    \"holder_name\": \"djfslmxqbevd\",\n                    \"bank_name\": \"jklwemilxusn\",\n                    \"iban\": \"****7519\",\n                    \"status\": {\n                        \"value\": \"pending\",\n                        \"label\": \"Pending\"\n                    },\n                    \"created_at\": \"2026-11-02T09:21:04+00:00\"\n                },\n                \"bank_reference\": null,\n                \"note\": null,\n                \"requested_at\": \"2026-11-02T09:21:04+00:00\",\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-02T09:21:04+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/delivery/payouts?page=1\",\n            \"last\": \"http://localhost/api/v1/delivery/payouts?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/delivery/payouts?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/delivery/payouts\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 My transfer requests",
                                            "_joshen": {
                                                "route": "delivery.payouts.index",
                                                "name": "My transfer requests",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/payouts",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\EarningPayoutTest::test_ac_driv_017_request_claims_only_the_driver_earnings_of_a_user_who_is_also_a_provider"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data retrieved successfully\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a19b8f-f095-7040-b929-f1bbe3d2a3b7\",\n                \"status\": {\n                    \"value\": \"requested\",\n                    \"label\": \"Requested\"\n                },\n                \"amount\": \"60.00\",\n                \"earnings_count\": 1,\n                \"payout_account\": {\n                    \"id\": \"01a19b8f-f05c-7325-83ed-96af7b252d8b\",\n                    \"holder_name\": \"djfslmxqbevd\",\n                    \"bank_name\": \"jklwemilxusn\",\n                    \"iban\": \"****7519\",\n                    \"status\": {\n                        \"value\": \"pending\",\n                        \"label\": \"Pending\"\n                    },\n                    \"created_at\": \"2026-11-02T09:21:04+00:00\"\n                },\n                \"bank_reference\": null,\n                \"note\": null,\n                \"requested_at\": \"2026-11-02T09:21:04+00:00\",\n                \"paid_at\": null,\n                \"created_at\": \"2026-11-02T09:21:04+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/delivery/payouts?page=1\",\n            \"last\": \"http://localhost/api/v1/delivery/payouts?page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/delivery/payouts?page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/delivery/payouts\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "paid",
                                                            "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Rows per page, 1–100; default 15. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "paid",
                                                            "description": "Request status: requested, processing, paid (transferred), failed or cancelled (rejected). — `string (enum)`, one of: `requested`, `scheduled`, `processing`, `paid`, `failed`, `cancelled`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Unknown status filter",
                                            "_joshen": {
                                                "route": "delivery.payouts.index",
                                                "name": "Unknown status filter",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/payouts",
                                                    "query": {
                                                        "filters": {
                                                            "status": "nope"
                                                        }
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\EarningPayoutTest::test_ac_driv_017_request_claims_only_the_driver_earnings_of_a_user_who_is_also_a_provider"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts?filters[status]=nope",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "filters[status]",
                                                            "value": "nope"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected filters.status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"filters.status\": [\n                \"The selected filters.status is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "payout_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Create New",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"payout_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/payouts",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "payouts"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.payouts.store`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `payout_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `201` Transfer requested\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `409` A request is already open — `error_code: PAYOUT_REQUEST_OPEN`\n- `422` No bank account saved — `error_code: PAYOUT_ACCOUNT_UNUSABLE`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Transfer request sent.\",\n    \"data\": {\n        \"id\": \"01a19b8f-f095-7040-b929-f1bbe3d2a3b7\",\n        \"status\": {\n            \"value\": \"requested\",\n            \"label\": \"Requested\"\n        },\n        \"amount\": \"60.00\",\n        \"earnings_count\": 1,\n        \"payout_account\": {\n            \"id\": \"01a19b8f-f05c-7325-83ed-96af7b252d8b\",\n            \"holder_name\": \"djfslmxqbevd\",\n            \"bank_name\": \"jklwemilxusn\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-02T09:21:04+00:00\"\n        },\n        \"bank_reference\": null,\n        \"note\": null,\n        \"requested_at\": \"2026-11-02T09:21:04+00:00\",\n        \"paid_at\": null,\n        \"created_at\": \"2026-11-02T09:21:04+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "201 Transfer requested",
                                            "_joshen": {
                                                "route": "delivery.payouts.store",
                                                "name": "Transfer requested",
                                                "code": 201,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\EarningPayoutTest::test_ac_driv_017_request_claims_only_the_driver_earnings_of_a_user_who_is_also_a_provider"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Created",
                                            "code": 201,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Transfer request sent.\",\n    \"data\": {\n        \"id\": \"01a19b8f-f095-7040-b929-f1bbe3d2a3b7\",\n        \"status\": {\n            \"value\": \"requested\",\n            \"label\": \"Requested\"\n        },\n        \"amount\": \"60.00\",\n        \"earnings_count\": 1,\n        \"payout_account\": {\n            \"id\": \"01a19b8f-f05c-7325-83ed-96af7b252d8b\",\n            \"holder_name\": \"djfslmxqbevd\",\n            \"bank_name\": \"jklwemilxusn\",\n            \"iban\": \"****7519\",\n            \"status\": {\n                \"value\": \"pending\",\n                \"label\": \"Pending\"\n            },\n            \"created_at\": \"2026-11-02T09:21:04+00:00\"\n        },\n        \"bank_reference\": null,\n        \"note\": null,\n        \"requested_at\": \"2026-11-02T09:21:04+00:00\",\n        \"paid_at\": null,\n        \"created_at\": \"2026-11-02T09:21:04+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "409 A request is already open",
                                            "_joshen": {
                                                "route": "delivery.payouts.store",
                                                "name": "A request is already open",
                                                "code": 409,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\EarningPayoutTest::test_ac_driv_017_refusals_are_typed_and_claim_nothing"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Conflict",
                                            "code": 409,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You already have an open transfer request.\",\n    \"data\": {\n        \"error_code\": \"PAYOUT_REQUEST_OPEN\",\n        \"correlation_id\": \"813f74ac-e2b5-488f-b118-8130d27a475e\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 No bank account saved",
                                            "_joshen": {
                                                "route": "delivery.payouts.store",
                                                "name": "No bank account saved",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/payouts",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\EarningPayoutTest::test_ac_driv_017_refusals_are_typed_and_claim_nothing"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/payouts",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "payouts"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Add valid bank details before requesting a transfer.\",\n    \"data\": {\n        \"error_code\": \"PAYOUT_ACCOUNT_UNUSABLE\",\n        \"correlation_id\": \"64c2595d-8b5f-4b3a-9320-1bf9666eb3ea\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "payout_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Availability",
                            "item": [
                                {
                                    "name": "Update",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "PATCH",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/availability",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "availability"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.availability.update`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved, throttle:dispatch-availability`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `is_online`\n- **Description:** Driver online/offline status (DRIV-007, BR-16). Going offline withdraws pending offers.\n- **Type:** `boolean`\n- **Required:** optional\n- **Example:** `true`\n- **Validation rules:** `sometimes|boolean`\n- `sometimes` — validated only when the field is present.\n- `boolean` — must be true, false, 1, or 0.\n### `lat`\n- **Description:** Current GPS latitude (-90 to 90). Must be supplied alongside lng or omitted.\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `24.7136`\n- **Validation rules:** `nullable|numeric|between:-90,90|required_with:lng`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n- `required_with:lng` — required when lng is present.\n### `lng`\n- **Description:** Current GPS longitude (-180 to 180). Must be supplied alongside lat or omitted.\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `46.6753`\n- **Validation rules:** `nullable|numeric|between:-180,180|required_with:lat`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n- `required_with:lat` — required when lat is present.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver goes offline\n- `200` Driver goes online with GPS location\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Location requires both coordinates\n- `429` Too many availability updates — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Availability updated successfully.\",\n    \"data\": {\n        \"is_online\": false,\n        \"current_lat\": 24.7136,\n        \"current_lng\": 46.6753,\n        \"location_updated_at\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"is_online\": true,\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver goes offline",
                                            "_joshen": {
                                                "route": "delivery.availability.update",
                                                "name": "Driver goes offline",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/availability",
                                                    "query": null,
                                                    "body": {
                                                        "is_online": false
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\DriverAvailabilityTest::test_ac_driv_007_toggle_availability_offline_without_coordinates"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "availability"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_online\": false\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Availability updated successfully.\",\n    \"data\": {\n        \"is_online\": false,\n        \"current_lat\": 24.7136,\n        \"current_lng\": 46.6753,\n        \"location_updated_at\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Driver goes online with GPS location",
                                            "_joshen": {
                                                "route": "delivery.availability.update",
                                                "name": "Driver goes online with GPS location",
                                                "code": 200,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/availability",
                                                    "query": null,
                                                    "body": {
                                                        "is_online": true,
                                                        "lat": 24.7136,
                                                        "lng": 46.6753
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\DriverAvailabilityTest::test_ac_driv_007_toggle_availability_online_with_coordinates"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "availability"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_online\": true,\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Availability updated successfully.\",\n    \"data\": {\n        \"is_online\": true,\n        \"current_lat\": 24.7136,\n        \"current_lng\": 46.6753,\n        \"location_updated_at\": \"2026-11-01T07:53:41+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "availability"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_online\": true,\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "availability"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_online\": true,\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Location requires both coordinates",
                                            "_joshen": {
                                                "route": "delivery.availability.update",
                                                "name": "Location requires both coordinates",
                                                "code": 422,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/availability",
                                                    "query": null,
                                                    "body": {
                                                        "is_online": true,
                                                        "lat": 24.7136
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\DriverAvailabilityTest::test_ac_driv_007_coordinates_must_both_be_present_or_absent"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "availability"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_online\": true,\n    \"lat\": 24.7136\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lng field is required when lat is present.\",\n    \"data\": {\n        \"errors\": {\n            \"lng\": [\n                \"The lng field is required when lat is present.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many availability updates",
                                            "_joshen": {
                                                "route": "delivery.availability.update",
                                                "name": "Too many availability updates",
                                                "code": 429,
                                                "request": {
                                                    "method": "PATCH",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/availability",
                                                    "query": null,
                                                    "body": {
                                                        "is_online": true
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\DriverAvailabilityTest::test_ac_driv_007_availability_rate_limiting"
                                            },
                                            "originalRequest": {
                                                "method": "PATCH",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/availability",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "availability"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"is_online\": true\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Trip offers",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"trip_offer_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/trip-offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "trip-offers"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.trip-offers.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `trip_offer_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Driver lists pending trip offers\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a19791-3c4c-7068-ac07-09ec15a91bda\",\n            \"trip_id\": \"01a19791-3c43-7098-bc9e-f67316c00c88\",\n            \"pickup_district_name\": \"Sample-upff89718212\",\n            \"dropoff_district_name\": \"Sample-upff89718212\",\n            \"distance_km\": \"8.50\",\n            \"est_duration_min\": 22,\n            \"delivery_fee\": \"25.00\",\n            \"expires_at\": \"2026-11-01T14:44:12+00:00\",\n            \"seconds_remaining\": 11\n        }\n    ]\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver lists pending trip offers",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.index",
                                                "name": "Driver lists pending trip offers",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_007_brief_offer_resource_has_no_full_address"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"01a19791-3c4c-7068-ac07-09ec15a91bda\",\n            \"trip_id\": \"01a19791-3c43-7098-bc9e-f67316c00c88\",\n            \"pickup_district_name\": \"Sample-upff89718212\",\n            \"dropoff_district_name\": \"Sample-upff89718212\",\n            \"distance_km\": \"8.50\",\n            \"est_duration_min\": 22,\n            \"delivery_fee\": \"25.00\",\n            \"expires_at\": \"2026-11-01T14:44:12+00:00\",\n            \"seconds_remaining\": 11\n        }\n    ]\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers"
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers"
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "trip_offer_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Accept",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"trip_offer_id\",\"Saved by GET /api/v1/delivery/trip-offers.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/trip-offers/:offer/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "trip-offers",
                                                ":offer",
                                                "accept"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "offer",
                                                    "value": "{{trip_offer_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/delivery/trip-offers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.trip-offers.accept`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved, throttle:dispatch-responses`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `lat`\n- **Description:** Driver GPS latitude when accepting the offer.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `24.7136`\n- **Validation rules:** `nullable|numeric|between:-90,90`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Driver GPS longitude when accepting the offer.\n- **Type:** `number`\n- **Required:** optional\n- **Example:** `46.6753`\n- **Validation rules:** `nullable|numeric|between:-180,180`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n\n**Variables:**\n- Uses `{{trip_offer_id}}` — Saved by GET /api/v1/delivery/trip-offers.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver accepts trip offer\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Offer not found — `error_code: ENTITY_NOT_FOUND`\n- `422` Accept lost race offer no longer available — `error_code: TRIP_OFFER_NOT_AVAILABLE`\n- `422` Driver already on a trip — `error_code: DRIVER_ALREADY_ON_TRIP`\n- `422` Driver vehicle required — `error_code: DRIVER_VEHICLE_REQUIRED`\n- `422` Invalid acceptance location\n- `429` Too many trip offer responses — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Trip offer accepted successfully.\",\n    \"data\": {\n        \"id\": \"01a19791-3ca3-7147-851a-2afb0c27cfe5\",\n        \"code\": \"TRP-xysg49789547\",\n        \"order_id\": \"01a19791-3c9c-7318-b58e-c4dfddd263e4\",\n        \"status\": {\n            \"value\": \"accepted\",\n            \"label\": \"Driver accepted\"\n        },\n        \"next_status\": {\n            \"value\": \"to_provider\",\n            \"label\": \"Driver on the way to provider\"\n        },\n        \"can_advance\": true,\n        \"pickup\": {\n            \"address\": \"Al Olaya Street, Riyadh\",\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"provider\": {\n                \"id\": \"01a19791-3c94-70d0-aeac-b7af8cd57dbe\",\n                \"name\": \"Savion McCullough\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"Al Nakheel Dist, Riyadh\",\n            \"lat\": 24.7743,\n            \"lng\": 46.7386\n        },\n        \"distance_km\": \"8.50\",\n        \"est_duration_min\": 22,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": null,\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": null,\n        \"net_earning\": null,\n        \"completed_at\": null,\n        \"vehicle\": {\n            \"id\": \"01a19791-3ca9-70bd-bdfa-b6ac20b57a48\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-rkoo40404861\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"accepted\",\n                    \"label\": \"Driver accepted\"\n                },\n                \"at\": \"2026-11-01T14:44:00+00:00\"\n            }\n        ],\n        \"cancel_reason\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver accepts trip offer",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.accept",
                                                "name": "Driver accepts trip offer",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-3cb4-719c-a477-80c9e170bd27/accept",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 24.7136,
                                                        "lng": 46.6753
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_008_first_accept_wins_and_withdraws_competing_offers"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-3cb4-719c-a477-80c9e170bd27/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-3cb4-719c-a477-80c9e170bd27",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Trip offer accepted successfully.\",\n    \"data\": {\n        \"id\": \"01a19791-3ca3-7147-851a-2afb0c27cfe5\",\n        \"code\": \"TRP-xysg49789547\",\n        \"order_id\": \"01a19791-3c9c-7318-b58e-c4dfddd263e4\",\n        \"status\": {\n            \"value\": \"accepted\",\n            \"label\": \"Driver accepted\"\n        },\n        \"next_status\": {\n            \"value\": \"to_provider\",\n            \"label\": \"Driver on the way to provider\"\n        },\n        \"can_advance\": true,\n        \"pickup\": {\n            \"address\": \"Al Olaya Street, Riyadh\",\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"provider\": {\n                \"id\": \"01a19791-3c94-70d0-aeac-b7af8cd57dbe\",\n                \"name\": \"Savion McCullough\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"Al Nakheel Dist, Riyadh\",\n            \"lat\": 24.7743,\n            \"lng\": 46.7386\n        },\n        \"distance_km\": \"8.50\",\n        \"est_duration_min\": 22,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": null,\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": null,\n        \"net_earning\": null,\n        \"completed_at\": null,\n        \"vehicle\": {\n            \"id\": \"01a19791-3ca9-70bd-bdfa-b6ac20b57a48\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-rkoo40404861\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"accepted\",\n                    \"label\": \"Driver accepted\"\n                },\n                \"at\": \"2026-11-01T14:44:00+00:00\"\n            }\n        ],\n        \"cancel_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/:offer/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        ":offer",
                                                        "accept"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "offer",
                                                            "value": "{{trip_offer_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/delivery/trip-offers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/:offer/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        ":offer",
                                                        "accept"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "offer",
                                                            "value": "{{trip_offer_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/delivery/trip-offers."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Offer not found",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.accept",
                                                "name": "Offer not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-4062-7327-bf2d-9b0c1e50ebc1/accept",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_007_foreign_offer_returns_404"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-4062-7327-bf2d-9b0c1e50ebc1/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-4062-7327-bf2d-9b0c1e50ebc1",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This transportation offer is no longer available.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"9097916d-045e-4b9f-871b-d486b9516aa8\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Accept lost race offer no longer available",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.accept",
                                                "name": "Accept lost race offer no longer available",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-3d74-734b-9895-8ea5f3147b07/accept",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_008_lost_accept_race_returns_trip_offer_not_available"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-3d74-734b-9895-8ea5f3147b07/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-3d74-734b-9895-8ea5f3147b07",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This transportation offer is no longer available.\",\n    \"data\": {\n        \"error_code\": \"TRIP_OFFER_NOT_AVAILABLE\",\n        \"correlation_id\": \"efb2eb1a-ccc2-4971-bb0e-ea42301ab095\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver already on a trip",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.accept",
                                                "name": "Driver already on a trip",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-3ebe-7199-8452-c0a3142b8986/accept",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_008_driver_already_on_live_trip_cannot_accept"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-3ebe-7199-8452-c0a3142b8986/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-3ebe-7199-8452-c0a3142b8986",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You already have an active delivery trip in progress.\",\n    \"data\": {\n        \"error_code\": \"DRIVER_ALREADY_ON_TRIP\",\n        \"correlation_id\": \"95824b6f-a4ff-46ac-97cf-cf27c1c36772\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver vehicle required",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.accept",
                                                "name": "Driver vehicle required",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-3f70-70b3-8bf4-b417ee3dd008/accept",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_008_driver_without_active_vehicle_cannot_accept"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-3f70-70b3-8bf4-b417ee3dd008/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-3f70-70b3-8bf4-b417ee3dd008",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"An active vehicle is required to accept trip offers.\",\n    \"data\": {\n        \"error_code\": \"DRIVER_VEHICLE_REQUIRED\",\n        \"correlation_id\": \"425b97e2-9f91-4a6c-b8b4-acbe7f1bbbcb\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid acceptance location",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.accept",
                                                "name": "Invalid acceptance location",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-3cb4-719c-a477-80c9e170bd27/accept",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 100
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_008_first_accept_wins_and_withdraws_competing_offers"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-3cb4-719c-a477-80c9e170bd27/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-3cb4-719c-a477-80c9e170bd27",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 100\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be between -90 and 90.\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be between -90 and 90.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many trip offer responses",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.accept",
                                                "name": "Too many trip offer responses",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-4143-720a-ba07-aff76333c8e7/accept",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_008_responses_rate_limiting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-4143-720a-ba07-aff76333c8e7/accept",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-4143-720a-ba07-aff76333c8e7",
                                                        "accept"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "trip_offer_id",
                                                "set_by": [
                                                    "delivery.trip-offers.index"
                                                ],
                                                "how": "Saved by GET /api/v1/delivery/trip-offers."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Reject",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"trip_offer_id\",\"Saved by GET /api/v1/delivery/trip-offers.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/trip-offers/:offer/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "trip-offers",
                                                ":offer",
                                                "reject"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "offer",
                                                    "value": "{{trip_offer_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/delivery/trip-offers."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.trip-offers.reject`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved, throttle:dispatch-responses`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{trip_offer_id}}` — Saved by GET /api/v1/delivery/trip-offers.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver rejects trip offer\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Offer not found — `error_code: ENTITY_NOT_FOUND`\n- `422` Offer no longer available — `error_code: TRIP_OFFER_NOT_AVAILABLE`\n- `429` Too many trip offer responses — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Trip offer rejected successfully.\",\n    \"data\": null\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver rejects trip offer",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.reject",
                                                "name": "Driver rejects trip offer",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-3fc5-73dc-8fcf-d4a661e63d5b/reject",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_007_reject_offer_keeps_trip_searching_repeat_is_noop"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-3fc5-73dc-8fcf-d4a661e63d5b/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-3fc5-73dc-8fcf-d4a661e63d5b",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Trip offer rejected successfully.\",\n    \"data\": null\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/:offer/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        ":offer",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "offer",
                                                            "value": "{{trip_offer_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/delivery/trip-offers."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/:offer/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        ":offer",
                                                        "reject"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "offer",
                                                            "value": "{{trip_offer_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/delivery/trip-offers."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Offer not found",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.reject",
                                                "name": "Offer not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-4062-7327-bf2d-9b0c1e50ebc1/reject",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_007_foreign_offer_returns_404"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-4062-7327-bf2d-9b0c1e50ebc1/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-4062-7327-bf2d-9b0c1e50ebc1",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This transportation offer is no longer available.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"5a911431-c53c-4ca0-9020-3c6f026af462\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Offer no longer available",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.reject",
                                                "name": "Offer no longer available",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-3fc5-73dc-8fcf-d4a661e63d5b/reject",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_007_reject_offer_keeps_trip_searching_repeat_is_noop"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-3fc5-73dc-8fcf-d4a661e63d5b/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-3fc5-73dc-8fcf-d4a661e63d5b",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This transportation offer is no longer available.\",\n    \"data\": {\n        \"error_code\": \"TRIP_OFFER_NOT_AVAILABLE\",\n        \"correlation_id\": \"ec339701-8bb8-4947-b912-a08b0d0e6d6f\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many trip offer responses",
                                            "_joshen": {
                                                "route": "delivery.trip-offers.reject",
                                                "name": "Too many trip offer responses",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trip-offers/01a19791-4143-720a-ba07-aff76333c8e7/reject",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripDispatchTest::test_ac_driv_008_responses_rate_limiting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trip-offers/01a19791-4143-720a-ba07-aff76333c8e7/reject",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trip-offers",
                                                        "01a19791-4143-720a-ba07-aff76333c8e7",
                                                        "reject"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "trip_offer_id",
                                                "set_by": [
                                                    "delivery.trip-offers.index"
                                                ],
                                                "how": "Saved by GET /api/v1/delivery/trip-offers."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        {
                            "name": "Trips",
                            "item": [
                                {
                                    "name": "List All",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"trip_id\",\"data.*.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/trips",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "trips"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "current",
                                                    "description": "Filter by trip tab: current (accepted..to_customer), completed (arrived + completed), or cancelled. — `string (enum)`, one of: `current`, `completed`, `cancelled`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "page",
                                                    "value": "1",
                                                    "description": "Page number for pagination. — `integer`",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Number of records per page (default: 15). — `integer`",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.trips.index`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Query parameters:**\n- `tab` — Filter by trip tab: current (accepted..to_customer), completed (arrived + completed), or cancelled. — `string (enum)`, one of: `current`, `completed`, `cancelled` (optional)\n- `page` — Page number for pagination. — `integer` (optional)\n- `per_page` — Number of records per page (default: 15). — `integer` (optional)\n\n**Variables:**\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `trip_id` ← `data.*.id` of a 2xx response\n\n**Responses:**\n- `200` Current driver trips\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `422` Invalid driver trip tab\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a19791-34a9-72f9-bf9f-6fdc79f6f646\",\n                \"code\": \"TRP-zplz29751833\",\n                \"order_id\": \"01a19791-34a6-7046-bdfc-f3797896b409\",\n                \"status\": {\n                    \"value\": \"to_provider\",\n                    \"label\": \"Driver on the way to provider\"\n                },\n                \"pickup\": {\n                    \"address\": \"Al Olaya Street, Riyadh\",\n                    \"lat\": 24.7136,\n                    \"lng\": 46.6753,\n                    \"provider\": {\n                        \"id\": \"01a19791-3492-71ea-8899-21496809b585\",\n                        \"name\": \"Kimberly Lesch\"\n                    }\n                },\n                \"dropoff\": {\n                    \"address\": \"Al Nakheel Dist, Riyadh\",\n                    \"lat\": 24.7743,\n                    \"lng\": 46.7386\n                },\n                \"distance_km\": \"8.50\",\n                \"est_duration_min\": 22,\n                \"delivery_fee\": \"25.00\",\n                \"arrival_confirmed_by\": null,\n                \"can_confirm_arrival\": false,\n                \"amount_due_status\": null,\n                \"net_earning\": null,\n                \"completed_at\": null,\n                \"created_at\": \"2026-11-01T14:43:58+00:00\",\n                \"accepted_at\": \"2026-11-01T14:43:58+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/delivery/trips?tab=current&page=1\",\n            \"last\": \"http://localhost/api/v1/delivery/trips?tab=current&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/delivery/trips?tab=current&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/delivery/trips\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Current driver trips",
                                            "_joshen": {
                                                "route": "delivery.trips.index",
                                                "name": "Current driver trips",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips",
                                                    "query": {
                                                        "tab": "current"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_010_tabs_and_pagination"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips?tab=current",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "current"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"01a19791-34a9-72f9-bf9f-6fdc79f6f646\",\n                \"code\": \"TRP-zplz29751833\",\n                \"order_id\": \"01a19791-34a6-7046-bdfc-f3797896b409\",\n                \"status\": {\n                    \"value\": \"to_provider\",\n                    \"label\": \"Driver on the way to provider\"\n                },\n                \"pickup\": {\n                    \"address\": \"Al Olaya Street, Riyadh\",\n                    \"lat\": 24.7136,\n                    \"lng\": 46.6753,\n                    \"provider\": {\n                        \"id\": \"01a19791-3492-71ea-8899-21496809b585\",\n                        \"name\": \"Kimberly Lesch\"\n                    }\n                },\n                \"dropoff\": {\n                    \"address\": \"Al Nakheel Dist, Riyadh\",\n                    \"lat\": 24.7743,\n                    \"lng\": 46.7386\n                },\n                \"distance_km\": \"8.50\",\n                \"est_duration_min\": 22,\n                \"delivery_fee\": \"25.00\",\n                \"arrival_confirmed_by\": null,\n                \"can_confirm_arrival\": false,\n                \"amount_due_status\": null,\n                \"net_earning\": null,\n                \"completed_at\": null,\n                \"created_at\": \"2026-11-01T14:43:58+00:00\",\n                \"accepted_at\": \"2026-11-01T14:43:58+00:00\"\n            }\n        ],\n        \"links\": {\n            \"first\": \"http://localhost/api/v1/delivery/trips?tab=current&page=1\",\n            \"last\": \"http://localhost/api/v1/delivery/trips?tab=current&page=1\",\n            \"prev\": null,\n            \"next\": null\n        },\n        \"meta\": {\n            \"current_page\": 1,\n            \"from\": 1,\n            \"last_page\": 1,\n            \"links\": [\n                {\n                    \"url\": null,\n                    \"label\": \"&laquo; Previous\",\n                    \"page\": null,\n                    \"active\": false\n                },\n                {\n                    \"url\": \"http://localhost/api/v1/delivery/trips?tab=current&page=1\",\n                    \"label\": \"1\",\n                    \"page\": 1,\n                    \"active\": true\n                },\n                {\n                    \"url\": null,\n                    \"label\": \"Next &raquo;\",\n                    \"page\": null,\n                    \"active\": false\n                }\n            ],\n            \"path\": \"http://localhost/api/v1/delivery/trips\",\n            \"per_page\": 15,\n            \"to\": 1,\n            \"total\": 1\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "current",
                                                            "description": "Filter by trip tab: current (accepted..to_customer), completed (arrived + completed), or cancelled. — `string (enum)`, one of: `current`, `completed`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number for pagination. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Number of records per page (default: 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "current",
                                                            "description": "Filter by trip tab: current (accepted..to_customer), completed (arrived + completed), or cancelled. — `string (enum)`, one of: `current`, `completed`, `cancelled`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "page",
                                                            "value": "1",
                                                            "description": "Page number for pagination. — `integer`",
                                                            "disabled": true
                                                        },
                                                        {
                                                            "key": "per_page",
                                                            "value": "15",
                                                            "description": "Number of records per page (default: 15). — `integer`",
                                                            "disabled": true
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid driver trip tab",
                                            "_joshen": {
                                                "route": "delivery.trips.index",
                                                "name": "Invalid driver trip tab",
                                                "code": 422,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips",
                                                    "query": {
                                                        "tab": "invalid"
                                                    },
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_010_tabs_and_pagination"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips?tab=invalid",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips"
                                                    ],
                                                    "query": [
                                                        {
                                                            "key": "tab",
                                                            "value": "invalid"
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected tab is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"tab\": [\n                \"The selected tab is invalid.\"\n            ]\n        }\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "trip_id",
                                                "path": "data.*.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Show Details",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"trip_id\",\"Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        },
                                        {
                                            "listen": "test",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: save response values for related requests.",
                                                    "const saves = [[\"trip_id\",\"data.id\"]];",
                                                    "function pick(value, keys) {",
                                                    "    if (keys.length === 0) return value;",
                                                    "    if (value === null || typeof value !== 'object') return undefined;",
                                                    "    const [key, ...rest] = keys;",
                                                    "    if (key !== '*') return pick(value[key], rest);",
                                                    "    const rows = Array.isArray(value) ? value.slice(0, 1) : Object.values(value).filter(Array.isArray).map(list => list[0]);",
                                                    "    for (const row of rows) {",
                                                    "        const found = pick(row, rest);",
                                                    "        if (found !== undefined && found !== null && found !== '') return found;",
                                                    "    }",
                                                    "    return undefined;",
                                                    "}",
                                                    "let body = null;",
                                                    "try { body = pm.response.json(); } catch (error) { body = null; }",
                                                    "if (body && pm.response.code >= 200 && pm.response.code < 300) {",
                                                    "    saves.forEach(([name, path]) => {",
                                                    "        const value = pick(body, path.split('.'));",
                                                    "        if (value !== undefined && value !== null && value !== '') {",
                                                    "            pm.collectionVariables.set(name, String(value));",
                                                    "            pm.test('Saved {{' + name + '}}', () => true);",
                                                    "        }",
                                                    "    });",
                                                    "}"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/trips/:trip",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "trips",
                                                ":trip"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "trip",
                                                    "value": "{{trip_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.trips.show`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved`\n\n**Payload:**\nNo request body. Use the documented path and query parameters.\n\n**Variables:**\n- Uses `{{trip_id}}` — Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n- Saves `trip_id` ← `data.id` of a 2xx response\n\n**Responses:**\n- `200` Driver trip details\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Trip not found — `error_code: ENTITY_NOT_FOUND`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-2d75-7049-b986-65234a97c0ff\",\n        \"code\": \"TRP-xfuq83096338\",\n        \"order_id\": \"01a19791-2d67-73f3-8009-a667cdedb6d1\",\n        \"status\": {\n            \"value\": \"accepted\",\n            \"label\": \"Driver accepted\"\n        },\n        \"next_status\": {\n            \"value\": \"to_provider\",\n            \"label\": \"Driver on the way to provider\"\n        },\n        \"can_advance\": true,\n        \"pickup\": {\n            \"address\": \"Al Olaya Street, Riyadh\",\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"provider\": {\n                \"id\": \"01a19791-2d48-73a8-8226-80ea9c8fd2c1\",\n                \"name\": \"Dr. Bertha Windler\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"Al Nakheel Dist, Riyadh\",\n            \"lat\": 24.7743,\n            \"lng\": 46.7386\n        },\n        \"distance_km\": \"8.50\",\n        \"est_duration_min\": 22,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": null,\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": null,\n        \"net_earning\": null,\n        \"completed_at\": null,\n        \"vehicle\": {\n            \"id\": \"01a19791-2d70-72fc-b718-15c3288b110d\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-pmxw05092074\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [],\n        \"cancel_reason\": null\n    }\n}\n```"
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver trip details",
                                            "_joshen": {
                                                "route": "delivery.trips.show",
                                                "name": "Driver trip details",
                                                "code": 200,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19791-2d75-7049-b986-65234a97c0ff",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_010_full_happy_path_accepted_to_arrived_and_order_sync"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19791-2d75-7049-b986-65234a97c0ff",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19791-2d75-7049-b986-65234a97c0ff"
                                                    ]
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-2d75-7049-b986-65234a97c0ff\",\n        \"code\": \"TRP-xfuq83096338\",\n        \"order_id\": \"01a19791-2d67-73f3-8009-a667cdedb6d1\",\n        \"status\": {\n            \"value\": \"accepted\",\n            \"label\": \"Driver accepted\"\n        },\n        \"next_status\": {\n            \"value\": \"to_provider\",\n            \"label\": \"Driver on the way to provider\"\n        },\n        \"can_advance\": true,\n        \"pickup\": {\n            \"address\": \"Al Olaya Street, Riyadh\",\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"provider\": {\n                \"id\": \"01a19791-2d48-73a8-8226-80ea9c8fd2c1\",\n                \"name\": \"Dr. Bertha Windler\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"Al Nakheel Dist, Riyadh\",\n            \"lat\": 24.7743,\n            \"lng\": 46.7386\n        },\n        \"distance_km\": \"8.50\",\n        \"est_duration_min\": 22,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": null,\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": null,\n        \"net_earning\": null,\n        \"completed_at\": null,\n        \"vehicle\": {\n            \"id\": \"01a19791-2d70-72fc-b718-15c3288b110d\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-pmxw05092074\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [],\n        \"cancel_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/:trip",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        ":trip"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/:trip",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        ":trip"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Trip not found",
                                            "_joshen": {
                                                "route": "delivery.trips.show",
                                                "name": "Trip not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19791-304b-7008-a352-8314830485f3",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_010_another_driver_trip_returns_404"
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19791-304b-7008-a352-8314830485f3",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19791-304b-7008-a352-8314830485f3"
                                                    ]
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Delivery trip not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"00f2773b-6555-41fe-94c7-4a0172df30c8\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [
                                            {
                                                "name": "trip_id",
                                                "path": "data.id"
                                            }
                                        ],
                                        "uses": [
                                            {
                                                "name": "trip_id",
                                                "set_by": [
                                                    "admin.trips.index",
                                                    "admin.trips.show",
                                                    "delivery.trips.index",
                                                    "delivery.trips.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Location",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"trip_id\",\"Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/trips/:trip/location",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "trips",
                                                ":trip",
                                                "location"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "trip",
                                                    "value": "{{trip_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.trips.location`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved, throttle:dispatch-availability`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `lat`\n- **Description:** Current driver latitude in degrees.\n- **Type:** `number`\n- **Required:** required\n- **Example:** `24.7136`\n- **Validation rules:** `required|numeric|between:-90,90`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n### `lng`\n- **Description:** Current driver longitude in degrees.\n- **Type:** `number`\n- **Required:** required\n- **Example:** `46.6753`\n- **Validation rules:** `required|numeric|between:-180,180`\n- `required` — must be provided.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n\n**Variables:**\n- Uses `{{trip_id}}` — Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver location recorded\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Trip not found — `error_code: ENTITY_NOT_FOUND`\n- `422` Invalid coordinates\n- `422` Trip is not active — `error_code: INVALID_STATE_TRANSITION`\n- `429` Too many location updates — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"recorded_at\": \"2026-11-09T15:11:23.547+00:00\"\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver location recorded",
                                            "_joshen": {
                                                "route": "delivery.trips.location",
                                                "name": "Driver location recorded",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a1c0dd-2f78-722b-baf6-0dee8514f4a3/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 24.7136,
                                                        "lng": 46.6753
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripLocationTest::test_success_and_validation_and_ownership"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a1c0dd-2f78-722b-baf6-0dee8514f4a3/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a1c0dd-2f78-722b-baf6-0dee8514f4a3",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Data updated successfully\",\n    \"data\": {\n        \"recorded_at\": \"2026-11-09T15:11:23.547+00:00\"\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/:trip/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        ":trip",
                                                        "location"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/:trip/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        ":trip",
                                                        "location"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Trip not found",
                                            "_joshen": {
                                                "route": "delivery.trips.location",
                                                "name": "Trip not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a1c0dd-2f78-722b-baf6-0dee8514f4a3/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 1,
                                                        "lng": 1
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripLocationTest::test_success_and_validation_and_ownership"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a1c0dd-2f78-722b-baf6-0dee8514f4a3/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a1c0dd-2f78-722b-baf6-0dee8514f4a3",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 1,\n    \"lng\": 1\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Delivery trip not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"4f420970-52c0-49b7-83c3-3c428586ac27\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid coordinates",
                                            "_joshen": {
                                                "route": "delivery.trips.location",
                                                "name": "Invalid coordinates",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a1c0dd-2f78-722b-baf6-0dee8514f4a3/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 91,
                                                        "lng": -181
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripLocationTest::test_success_and_validation_and_ownership"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a1c0dd-2f78-722b-baf6-0dee8514f4a3/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a1c0dd-2f78-722b-baf6-0dee8514f4a3",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 91,\n    \"lng\": -181\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The lat field must be between -90 and 90. (and 1 more error)\",\n    \"data\": {\n        \"errors\": {\n            \"lat\": [\n                \"The lat field must be between -90 and 90.\"\n            ],\n            \"lng\": [\n                \"The lng field must be between -180 and 180.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Trip is not active",
                                            "_joshen": {
                                                "route": "delivery.trips.location",
                                                "name": "Trip is not active",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a1c0dd-312d-735d-8c1c-6cdab133e639/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 1,
                                                        "lng": 1
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripLocationTest::test_non_live_states_refuse_location"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a1c0dd-312d-735d-8c1c-6cdab133e639/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a1c0dd-312d-735d-8c1c-6cdab133e639",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 1,\n    \"lng\": 1\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"8382943d-6b2d-4cee-ae47-91fff5137df4\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many location updates",
                                            "_joshen": {
                                                "route": "delivery.trips.location",
                                                "name": "Too many location updates",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a1c0dd-3235-70f1-92f7-722c60a1cef2/location",
                                                    "query": null,
                                                    "body": {
                                                        "lat": 1,
                                                        "lng": 2
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripLocationTest::test_rate_limit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a1c0dd-3235-70f1-92f7-722c60a1cef2/location",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a1c0dd-3235-70f1-92f7-722c60a1cef2",
                                                        "location"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"lat\": 1,\n    \"lng\": 2\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "trip_id",
                                                "set_by": [
                                                    "admin.trips.index",
                                                    "admin.trips.show",
                                                    "delivery.trips.index",
                                                    "delivery.trips.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Status",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"trip_id\",\"Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/trips/:trip/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "trips",
                                                ":trip",
                                                "status"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "trip",
                                                    "value": "{{trip_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.trips.status`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved, throttle:dispatch-status-transitions`\n\n**Payload:**\nSend as `application/json`.\n\n**Field documentation:**\n### `status`\n- **Description:** Next sequential delivery trip status: to_provider, at_provider, picked_up, to_customer, or arrived.\n- **Type:** `string (enum)`\n- **Allowed values:** `to_provider`, `at_provider`, `picked_up`, `to_customer`, `arrived`\n- **Required:** required\n- **Example:** `to_provider`\n- **Validation rules:** `required|in:\"to_provider\",\"at_provider\",\"picked_up\",\"to_customer\",\"arrived\"`\n- `required` — must be provided.\n- `in:\"to_provider\",\"at_provider\",\"picked_up\",\"to_customer\",\"arrived\"` — must be one of: \"to_provider\", \"at_provider\", \"picked_up\", \"to_customer\", \"arrived\".\n### `lat`\n- **Description:** Current GPS latitude (-90 to 90). Must be supplied alongside lng or omitted.\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `24.7136`\n- **Validation rules:** `nullable|numeric|between:-90,90|required_with:lng`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-90,90` — must be between -90, 90.\n- `required_with:lng` — required when lng is present.\n### `lng`\n- **Description:** Current GPS longitude (-180 to 180). Must be supplied alongside lat or omitted.\n- **Type:** `number`\n- **Required:** conditional\n- **Example:** `46.6753`\n- **Validation rules:** `nullable|numeric|between:-180,180|required_with:lat`\n- `nullable` — may be null.\n- `numeric` — must be numeric.\n- `between:-180,180` — must be between -180, 180.\n- `required_with:lat` — required when lat is present.\n\n**Variables:**\n- Uses `{{trip_id}}` — Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver starts trip to provider\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Trip not found — `error_code: ENTITY_NOT_FOUND`\n- `422` Invalid trip status\n- `422` Invalid trip transition — `error_code: INVALID_STATE_TRANSITION`\n- `429` Too many trip status transitions — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-2d75-7049-b986-65234a97c0ff\",\n        \"code\": \"TRP-xfuq83096338\",\n        \"order_id\": \"01a19791-2d67-73f3-8009-a667cdedb6d1\",\n        \"status\": {\n            \"value\": \"to_provider\",\n            \"label\": \"Driver on the way to provider\"\n        },\n        \"next_status\": {\n            \"value\": \"at_provider\",\n            \"label\": \"Driver arrived at provider\"\n        },\n        \"can_advance\": true,\n        \"pickup\": {\n            \"address\": \"Al Olaya Street, Riyadh\",\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"provider\": {\n                \"id\": \"01a19791-2d48-73a8-8226-80ea9c8fd2c1\",\n                \"name\": \"Dr. Bertha Windler\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"Al Nakheel Dist, Riyadh\",\n            \"lat\": 24.7743,\n            \"lng\": 46.7386\n        },\n        \"distance_km\": \"8.50\",\n        \"est_duration_min\": 22,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": null,\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": null,\n        \"net_earning\": null,\n        \"completed_at\": null,\n        \"vehicle\": {\n            \"id\": \"01a19791-2d70-72fc-b718-15c3288b110d\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-pmxw05092074\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"to_provider\",\n                    \"label\": \"Driver on the way to provider\"\n                },\n                \"at\": \"2026-11-01T14:43:56+00:00\"\n            }\n        ],\n        \"cancel_reason\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"status\": \"to_provider\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver starts trip to provider",
                                            "_joshen": {
                                                "route": "delivery.trips.status",
                                                "name": "Driver starts trip to provider",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19791-2d75-7049-b986-65234a97c0ff/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "to_provider",
                                                        "lat": 24.7136,
                                                        "lng": 46.6753
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_010_full_happy_path_accepted_to_arrived_and_order_sync"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19791-2d75-7049-b986-65234a97c0ff/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19791-2d75-7049-b986-65234a97c0ff",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"to_provider\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"01a19791-2d75-7049-b986-65234a97c0ff\",\n        \"code\": \"TRP-xfuq83096338\",\n        \"order_id\": \"01a19791-2d67-73f3-8009-a667cdedb6d1\",\n        \"status\": {\n            \"value\": \"to_provider\",\n            \"label\": \"Driver on the way to provider\"\n        },\n        \"next_status\": {\n            \"value\": \"at_provider\",\n            \"label\": \"Driver arrived at provider\"\n        },\n        \"can_advance\": true,\n        \"pickup\": {\n            \"address\": \"Al Olaya Street, Riyadh\",\n            \"lat\": 24.7136,\n            \"lng\": 46.6753,\n            \"provider\": {\n                \"id\": \"01a19791-2d48-73a8-8226-80ea9c8fd2c1\",\n                \"name\": \"Dr. Bertha Windler\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"Al Nakheel Dist, Riyadh\",\n            \"lat\": 24.7743,\n            \"lng\": 46.7386\n        },\n        \"distance_km\": \"8.50\",\n        \"est_duration_min\": 22,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": null,\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": null,\n        \"net_earning\": null,\n        \"completed_at\": null,\n        \"vehicle\": {\n            \"id\": \"01a19791-2d70-72fc-b718-15c3288b110d\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-pmxw05092074\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"to_provider\",\n                    \"label\": \"Driver on the way to provider\"\n                },\n                \"at\": \"2026-11-01T14:43:56+00:00\"\n            }\n        ],\n        \"cancel_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/:trip/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        ":trip",
                                                        "status"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"to_provider\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/:trip/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        ":trip",
                                                        "status"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"to_provider\",\n    \"lat\": 24.7136,\n    \"lng\": 46.6753\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Trip not found",
                                            "_joshen": {
                                                "route": "delivery.trips.status",
                                                "name": "Trip not found",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19791-304b-7008-a352-8314830485f3/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "to_provider"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_010_another_driver_trip_returns_404"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19791-304b-7008-a352-8314830485f3/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19791-304b-7008-a352-8314830485f3",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"to_provider\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Delivery trip not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"4c146e16-4a83-423c-9869-5fed7cfaa9df\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid trip status",
                                            "_joshen": {
                                                "route": "delivery.trips.status",
                                                "name": "Invalid trip status",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19791-2d75-7049-b986-65234a97c0ff/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "invalid"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_010_full_happy_path_accepted_to_arrived_and_order_sync"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19791-2d75-7049-b986-65234a97c0ff/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19791-2d75-7049-b986-65234a97c0ff",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"invalid\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The selected status is invalid.\",\n    \"data\": {\n        \"errors\": {\n            \"status\": [\n                \"The selected status is invalid.\"\n            ]\n        }\n    }\n}"
                                        },
                                        {
                                            "name": "422 Invalid trip transition",
                                            "_joshen": {
                                                "route": "delivery.trips.status",
                                                "name": "Invalid trip transition",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19791-2ef3-70ec-b721-dcccf76179e8/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "picked_up"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_011_skipping_or_reverting_stage_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19791-2ef3-70ec-b721-dcccf76179e8/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19791-2ef3-70ec-b721-dcccf76179e8",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"picked_up\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"This order action is no longer available.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"61fe08b9-897e-4080-91d5-e3308a1f4aae\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many trip status transitions",
                                            "_joshen": {
                                                "route": "delivery.trips.status",
                                                "name": "Too many trip status transitions",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19791-3883-7365-95cb-b6752363801b/status",
                                                    "query": null,
                                                    "body": {
                                                        "status": "to_provider"
                                                    }
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripExecutionTest::test_ac_driv_010_status_transitions_rate_limiting"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19791-3883-7365-95cb-b6752363801b/status",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19791-3883-7365-95cb-b6752363801b",
                                                        "status"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"status\": \"to_provider\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "trip_id",
                                                "set_by": [
                                                    "admin.trips.index",
                                                    "admin.trips.show",
                                                    "delivery.trips.index",
                                                    "delivery.trips.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                },
                                {
                                    "name": "Confirm Arrival",
                                    "event": [
                                        {
                                            "listen": "prerequest",
                                            "script": {
                                                "type": "text/javascript",
                                                "exec": [
                                                    "// Joshen TD-57: values this request reads from earlier responses.",
                                                    "const needed = [[\"trip_id\",\"Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\"],[\"delivery_token\",\"Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\"]];",
                                                    "needed.forEach(([name, how]) => {",
                                                    "    if (!pm.variables.get(name)) {",
                                                    "        console.warn('{{' + name + '}} is empty. ' + how);",
                                                    "    }",
                                                    "});"
                                                ]
                                            }
                                        }
                                    ],
                                    "request": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Content-Type",
                                                "value": "application/json"
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{locale}}"
                                            },
                                            {
                                                "key": "Authorization",
                                                "value": "Bearer {{delivery_token}}"
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/api/v1/delivery/trips/:trip/confirm-arrival",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "api",
                                                "v1",
                                                "delivery",
                                                "trips",
                                                ":trip",
                                                "confirm-arrival"
                                            ],
                                            "variable": [
                                                {
                                                    "key": "trip",
                                                    "value": "{{trip_id}}",
                                                    "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "**Route:** `delivery.trips.confirm-arrival`\n**Middleware:** `api, set_locale, cors, auth:api, app:driver, active, approved, throttle:dispatch-status-transitions`\n\n**Payload:**\nExample payload is included in the request body. No FormRequest validation rules were detected.\n### `key`\n- **Description:** Key _(no description yet)_\n- **Type:** `string`\n- **Required:** optional\n- **Example:** `value`\n- **Validation rules:** `not specified`\n- `not specified` — no validation rule was declared.\n\n**Variables:**\n- Uses `{{trip_id}}` — Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}.\n- Uses `{{delivery_token}}` — Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh.\n\n**Responses:**\n- `200` Driver confirms arrival and the trip completes\n- `200` Repeat confirmation returns the completed trip\n- `401` Missing or expired token — `error_code: UNAUTHENTICATED`\n- `403` Token issued by another app — `error_code: PERMISSION_DENIED`\n- `404` Another driver trip is hidden — `error_code: ENTITY_NOT_FOUND`\n- `422` Driver has not reported arrival yet — `error_code: INVALID_STATE_TRANSITION`\n- `429` Too many arrival confirmations — `error_code: RATE_LIMITED`\n\n**Success example:**\n```json\n{\n    \"status\": \"success\",\n    \"message\": \"Arrival confirmed. The trip is complete.\",\n    \"data\": {\n        \"id\": \"01a19b8b-93ac-7312-b546-7d80664d6cbb\",\n        \"code\": \"TRP-cbne64540664\",\n        \"order_id\": \"01a19b8b-93a3-71f1-b446-2dce9e8b7e31\",\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"next_status\": null,\n        \"can_advance\": false,\n        \"pickup\": {\n            \"address\": \"6134 Bartoletti Locks Apt. 534\\nSouth Ron, VT 98144\",\n            \"lat\": null,\n            \"lng\": null,\n            \"provider\": {\n                \"id\": \"01a19b8b-938d-71e6-b175-30446a303bd0\",\n                \"name\": \"Lonie Torphy\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"42872 Lucinda Mews\\nRaphaellechester, CA 15428\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"distance_km\": null,\n        \"est_duration_min\": null,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": {\n            \"value\": \"driver\",\n            \"label\": \"Driver\"\n        },\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": {\n            \"value\": \"available\",\n            \"label\": \"Available\"\n        },\n        \"net_earning\": \"22.50\",\n        \"completed_at\": \"2026-11-02T09:16:18+00:00\",\n        \"vehicle\": {\n            \"id\": \"01a19b8b-939f-72c4-8f6a-14b80b56dab9\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-auzr35724645\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"at\": \"2026-11-02T09:16:18+00:00\"\n            }\n        ],\n        \"cancel_reason\": null\n    }\n}\n```",
                                        "body": {
                                            "mode": "raw",
                                            "raw": "{\n    \"key\": \"value\"\n}",
                                            "options": {
                                                "raw": {
                                                    "language": "json"
                                                }
                                            }
                                        }
                                    },
                                    "response": [
                                        {
                                            "name": "200 Driver confirms arrival and the trip completes",
                                            "_joshen": {
                                                "route": "delivery.trips.confirm-arrival",
                                                "name": "Driver confirms arrival and the trip completes",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19b8b-93ac-7312-b546-7d80664d6cbb/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_driver_confirms_arrival_completes_trip_and_records_net_earning"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19b8b-93ac-7312-b546-7d80664d6cbb/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19b8b-93ac-7312-b546-7d80664d6cbb",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Arrival confirmed. The trip is complete.\",\n    \"data\": {\n        \"id\": \"01a19b8b-93ac-7312-b546-7d80664d6cbb\",\n        \"code\": \"TRP-cbne64540664\",\n        \"order_id\": \"01a19b8b-93a3-71f1-b446-2dce9e8b7e31\",\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"next_status\": null,\n        \"can_advance\": false,\n        \"pickup\": {\n            \"address\": \"6134 Bartoletti Locks Apt. 534\\nSouth Ron, VT 98144\",\n            \"lat\": null,\n            \"lng\": null,\n            \"provider\": {\n                \"id\": \"01a19b8b-938d-71e6-b175-30446a303bd0\",\n                \"name\": \"Lonie Torphy\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"42872 Lucinda Mews\\nRaphaellechester, CA 15428\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"distance_km\": null,\n        \"est_duration_min\": null,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": {\n            \"value\": \"driver\",\n            \"label\": \"Driver\"\n        },\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": {\n            \"value\": \"available\",\n            \"label\": \"Available\"\n        },\n        \"net_earning\": \"22.50\",\n        \"completed_at\": \"2026-11-02T09:16:18+00:00\",\n        \"vehicle\": {\n            \"id\": \"01a19b8b-939f-72c4-8f6a-14b80b56dab9\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-auzr35724645\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"at\": \"2026-11-02T09:16:18+00:00\"\n            }\n        ],\n        \"cancel_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "200 Repeat confirmation returns the completed trip",
                                            "_joshen": {
                                                "route": "delivery.trips.confirm-arrival",
                                                "name": "Repeat confirmation returns the completed trip",
                                                "code": 200,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19b8b-93ac-7312-b546-7d80664d6cbb/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_driver_confirms_arrival_completes_trip_and_records_net_earning"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19b8b-93ac-7312-b546-7d80664d6cbb/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19b8b-93ac-7312-b546-7d80664d6cbb",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "OK",
                                            "code": 200,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"success\",\n    \"message\": \"Arrival confirmed. The trip is complete.\",\n    \"data\": {\n        \"id\": \"01a19b8b-93ac-7312-b546-7d80664d6cbb\",\n        \"code\": \"TRP-cbne64540664\",\n        \"order_id\": \"01a19b8b-93a3-71f1-b446-2dce9e8b7e31\",\n        \"status\": {\n            \"value\": \"completed\",\n            \"label\": \"Completed\"\n        },\n        \"next_status\": null,\n        \"can_advance\": false,\n        \"pickup\": {\n            \"address\": \"6134 Bartoletti Locks Apt. 534\\nSouth Ron, VT 98144\",\n            \"lat\": null,\n            \"lng\": null,\n            \"provider\": {\n                \"id\": \"01a19b8b-938d-71e6-b175-30446a303bd0\",\n                \"name\": \"Lonie Torphy\"\n            }\n        },\n        \"dropoff\": {\n            \"address\": \"42872 Lucinda Mews\\nRaphaellechester, CA 15428\",\n            \"lat\": null,\n            \"lng\": null\n        },\n        \"distance_km\": null,\n        \"est_duration_min\": null,\n        \"delivery_fee\": \"25.00\",\n        \"arrival_confirmed_by\": {\n            \"value\": \"driver\",\n            \"label\": \"Driver\"\n        },\n        \"can_confirm_arrival\": false,\n        \"amount_due_status\": {\n            \"value\": \"available\",\n            \"label\": \"Available\"\n        },\n        \"net_earning\": \"22.50\",\n        \"completed_at\": \"2026-11-02T09:16:18+00:00\",\n        \"vehicle\": {\n            \"id\": \"01a19b8b-939f-72c4-8f6a-14b80b56dab9\",\n            \"make_model\": \"Toyota Yaris\",\n            \"plate_number\": \"CAR-auzr35724645\",\n            \"vehicle_type\": \"car\"\n        },\n        \"timeline\": [\n            {\n                \"status\": {\n                    \"value\": \"completed\",\n                    \"label\": \"Completed\"\n                },\n                \"at\": \"2026-11-02T09:16:18+00:00\"\n            }\n        ],\n        \"cancel_reason\": null\n    }\n}"
                                        },
                                        {
                                            "name": "401 Missing or expired token",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Missing or expired token",
                                                "code": 401,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\AuthControllerTest::test_ac_guest_returns_401_on_account_routes",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "auth:api"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/:trip/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        ":trip",
                                                        "confirm-arrival"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unauthorized",
                                            "code": 401,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Unauthenticated, you have to login first\",\n    \"data\": {\n        \"error_code\": \"UNAUTHENTICATED\"\n    }\n}"
                                        },
                                        {
                                            "name": "403 Token issued by another app",
                                            "_joshen": {
                                                "route": "delivery.auth.me",
                                                "name": "Token issued by another app",
                                                "code": 403,
                                                "request": {
                                                    "method": "GET",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/auth/me",
                                                    "query": null,
                                                    "body": null
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\CrossAppAuthTest::test_td_01_other_surface_token_returns_403",
                                                "applies_to": {
                                                    "surface": "delivery",
                                                    "middleware": "app:"
                                                }
                                            },
                                            "originalRequest": {
                                                "method": "GET",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "{{locale}}"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/:trip/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        ":trip",
                                                        "confirm-arrival"
                                                    ],
                                                    "variable": [
                                                        {
                                                            "key": "trip",
                                                            "value": "{{trip_id}}",
                                                            "description": "Record uuid. Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                                        }
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "{\n    \"key\": \"value\"\n}",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Forbidden",
                                            "code": 403,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"You do not have permission to access this app.\",\n    \"data\": {\n        \"error_code\": \"PERMISSION_DENIED\",\n        \"correlation_id\": \"34144d22-4567-4728-a468-a1629a32a92b\"\n    }\n}"
                                        },
                                        {
                                            "name": "404 Another driver trip is hidden",
                                            "_joshen": {
                                                "route": "delivery.trips.confirm-arrival",
                                                "name": "Another driver trip is hidden",
                                                "code": 404,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19b8b-947d-71cd-b49e-009f3395b75e/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_confirmation_before_arrival_and_foreign_trips_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19b8b-947d-71cd-b49e-009f3395b75e/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19b8b-947d-71cd-b49e-009f3395b75e",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Not Found",
                                            "code": 404,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Delivery trip not found.\",\n    \"data\": {\n        \"error_code\": \"ENTITY_NOT_FOUND\",\n        \"correlation_id\": \"568f0c03-801b-461c-9b8c-4286f88f0be4\"\n    }\n}"
                                        },
                                        {
                                            "name": "422 Driver has not reported arrival yet",
                                            "_joshen": {
                                                "route": "delivery.trips.confirm-arrival",
                                                "name": "Driver has not reported arrival yet",
                                                "code": 422,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19b8b-947d-71cd-b49e-009f3395b75e/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_confirmation_before_arrival_and_foreign_trips_are_refused"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19b8b-947d-71cd-b49e-009f3395b75e/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19b8b-947d-71cd-b49e-009f3395b75e",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Unprocessable Content",
                                            "code": 422,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"The driver has not reported arrival at the customer yet.\",\n    \"data\": {\n        \"error_code\": \"INVALID_STATE_TRANSITION\",\n        \"correlation_id\": \"2528b8c5-4a27-4bff-89a5-b41caf93e493\"\n    }\n}"
                                        },
                                        {
                                            "name": "429 Too many arrival confirmations",
                                            "_joshen": {
                                                "route": "delivery.trips.confirm-arrival",
                                                "name": "Too many arrival confirmations",
                                                "code": 429,
                                                "request": {
                                                    "method": "POST",
                                                    "locale": "en",
                                                    "path": "api/v1/delivery/trips/01a19b8b-9db2-70ba-b527-88b886d4713a/confirm-arrival",
                                                    "query": null,
                                                    "body": []
                                                },
                                                "source": "Tests\\Feature\\Api\\V1\\Delivery\\TripArrivalConfirmationTest::test_ac_driv_015_confirmation_shares_the_status_transition_rate_limit"
                                            },
                                            "originalRequest": {
                                                "method": "POST",
                                                "header": [
                                                    {
                                                        "key": "Accept",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Content-Type",
                                                        "value": "application/json"
                                                    },
                                                    {
                                                        "key": "Accept-Language",
                                                        "value": "en"
                                                    },
                                                    {
                                                        "key": "Authorization",
                                                        "value": "Bearer {{delivery_token}}"
                                                    }
                                                ],
                                                "url": {
                                                    "raw": "{{base_url}}/api/v1/delivery/trips/01a19b8b-9db2-70ba-b527-88b886d4713a/confirm-arrival",
                                                    "host": [
                                                        "{{base_url}}"
                                                    ],
                                                    "path": [
                                                        "api",
                                                        "v1",
                                                        "delivery",
                                                        "trips",
                                                        "01a19b8b-9db2-70ba-b527-88b886d4713a",
                                                        "confirm-arrival"
                                                    ]
                                                },
                                                "body": {
                                                    "mode": "raw",
                                                    "raw": "[]",
                                                    "options": {
                                                        "raw": {
                                                            "language": "json"
                                                        }
                                                    }
                                                }
                                            },
                                            "status": "Too Many Requests",
                                            "code": 429,
                                            "_postman_previewlanguage": "json",
                                            "header": [
                                                {
                                                    "key": "Content-Type",
                                                    "value": "application/json"
                                                }
                                            ],
                                            "cookie": [],
                                            "body": "{\n    \"status\": \"fail\",\n    \"message\": \"Too many requests. Please try again later.\",\n    \"data\": {\n        \"error_code\": \"RATE_LIMITED\"\n    }\n}"
                                        }
                                    ],
                                    "_joshen_variables": {
                                        "saves": [],
                                        "uses": [
                                            {
                                                "name": "trip_id",
                                                "set_by": [
                                                    "admin.trips.index",
                                                    "admin.trips.show",
                                                    "delivery.trips.index",
                                                    "delivery.trips.show"
                                                ],
                                                "how": "Saved by GET /api/v1/admin/trips, GET /api/v1/admin/trips/{trip}, GET /api/v1/delivery/trips, GET /api/v1/delivery/trips/{trip}."
                                            },
                                            {
                                                "name": "delivery_token",
                                                "set_by": [
                                                    "delivery.auth.verify",
                                                    "delivery.auth.refresh"
                                                ],
                                                "how": "Saved by POST /api/v1/delivery/auth/verify, POST /api/v1/delivery/auth/refresh."
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}